1. 数据库相关命令
1. 查看所有的数据库 show databases; 2. 查看一个库的基本信息 show create database db1; 3. 创建一个数据库 create database db1; 4. 删除一个数据库 drop database db1; 5. 修改库的字符编码 alter database charset='utf8';
2. 表相关命令
1. 创建一个表 create table t1(id int(11),name varchar(16),age int(11)); # id,name,age 代表的是字段 后面代表的是字段类型 2. 删除一个表 drop table t2; 3. 修改表 只能修改表名 alter table t1 rename tt1; 4. 查看表 show tables; # 查看所有表 show crtate table t1; # 查看表结构 desc t1; # 查看表的字段
3. 字段的增删改查
select、# 查看 insert、# 插入一条记录 update、# 更新一条或多条记录 delete 删除一条或多条记录 1. 查看表这的记录 select * from t1; # * 代表的是全部字段 如果写字段名 则代表看某个字段 select id,name from t1; # 查看t1这张表的 id 和 name 字段 2. 增加数据 insert into t1 values(1,'huang',18); # 不指定字段 则是按顺序添加 insert into t1(id,name,age) values(2,'tank',20),(3,'shun',19); # 一次性添加多个 3. 修改数据 update t1 set name='kevin' where id=3; # name代表字段 where代表条件 可以同时修改几个字段 update t1 set id=5,name='kevin',age=88 where id=3 and name='shun' # where 可以同时筛选几个条件 那个条件成立 就直接执行 update t1 set name='aaa'; # 没有筛选条件则是 全表改,一定不能使用 '''以后你在写更新语句的时候,一定别忘了检测更新条件''' """以后可千万要有安全意识,尤其是对公司里的核心数据,数据对一个公司太重要了""" 4. 删除数据 delete from t1 where id =1; delete from t1 where id =1 and name=''; # 可以筛选条件
4. 存储引擎(存储数据的方式)
1. 什么是存储引擎? # 就是存储数据的方式! 2. MySQL中有哪些存储数据的方式: show engines; 数据库查看存储引擎信息 # 总共支持9中存储引擎,我们需要掌握2种: """ MyISAM: 它是MySQL5.5及之前的版本默认的存储引擎,它的存取速度更快,但是数据相对InnoDB不够安全。 InnoDB 它是MySQL5.6及之前的版本默认的存储引擎,它的存取速度相对MyISAM更慢了,但是数据相对MyISAM更加安全 MEMORY 它的数据是在内存中存着的,内存是基于电工作的,所以断电数据丢失,重启服务端也会丢失数据 """ # 验证以上三者存储引擎所产生的文件 create table t2(id int) engine=MyISAM; create table t3(id int) engine=InnoDB; create table t4(id int) engine=MEMORY; 1. MyISAM: # 产生三个文件 .frm: 这个文件存表结构 .MYD:这个文件存数据 data .MYI: 这个文件存数据的索引 index >>> 类似于是书的目录 >>> 加快查询速度的 2. InnoDB # 产生两个文件 .frm: 这个文件存表结构 .ibd: 这个文件存数据的索引和数据 index >>> 类似于是书的目录 >>> 加快查询速度的 3. MEMORY # 产生两个文件 .frm: 这个文件存表结构
5. 数据类型有五种
1. 整形 有四种 int tinyint bigint smallint # 不同的类型存储的范围不一样 存储范围比较: tinyint:1个字节------>8位------>2 **8----> 256----->0-255----->-128-127 smallint:2个字节存储----->16位---->2 ** 16 ----> 65536----->0-65535---->-32768-32767 int:4个字节------>32位----->2 ** 32----> 21...----> bigint:8个字节----->64为----->2 ** 64----> # 默认情况整型是否带符号 create table t5 (id tinyint); create table t5 (id smallint); create table t5 (id int); create table t5 (id bigint); """得出结论:默认情况整型是带符号的""" 2. 浮点型 有三种 float double decimal float(255, 30); # 255表示的是存储的位数,30代表的是小数位数 double(255,30); # 255表示的是存储的位数,30代表的是小数位数 decimal(65, 30); # 65表示的是存储的位数,30代表的是小数位数 decimal(8, 2) # 表示的最大范围是:999999.99 8代表一共可以存8位 小数是两位 6位整形跟2位小数 # 这三个有什么区别? """得出结论:精确度不一样""" decimal >>> double >>> float create table t6(id float(255, 30)); create table t7(id double(255, 30)); create table t8(id decimal(65, 30) 3. 字符串类型 有两种 char varchar # 这两个都是用来存储字符串使用的 char(4): 它是定长,那么他就存4位,如果没有超出4位,空格填充到4位,超出4位,报错或者,最大存4位 varchar(4):可变长的,不超出4位,有几位存几位,超出4位,报错或者,最大存4位 # 如果你想让报错,需要设置严格模式 如何查看严格模式 1. select @@sql_mode; 2. show variables like '%mode%' # 模糊查询,变量中带有mode的 # 设置严格模式 1. 永久修改:需要改配置文件 2. 临时修改: set global sql_mode='STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH'; # 以后到底使用定长还是不定长呢, 大多数情况使用的都是varchar,如果你的存储数据就是固定的,就是有char 4. 日期类型有4种 datetime date time year 年月日 时分秒 年月日 时分秒 年份 5. 枚举类型 enum 1.多选一 create table t15 (id int, hobby enum('tangtou', 'hejiu', 'xijio', 'chouyan') ); insert into t15 values(1, 'tangtou'); # 只能从枚举里面选择 否则报错 2. 多选多 create table t16 (id int, hobby set('tangtou', 'hejiu', 'xijio', 'chouyan') ); insert into t15 values(1, 'tangtou','hejiu', 'xijio');
6. 整型中的数字代表的什么意思
字符串类型: char(4) varchar(4) # 括号里的数字代表的就是存储的长度 整形 int tinyiny smallint # 整型的存储范围跟括号中的数字有没有关系: # 整型中括号中的数字代表的是数据展示的位数
7. 创建表的完整语法结构
create table 表名( 字段名1 数据类型 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 ... ); create table t17 ( id int, name varchar(16), age int ); # 注意事项: 1. 字段名和数据类型是必须要写的 2. 约束条件是可选的,有就写,没有不写 3. 最后一个字段的末尾不能加逗号
标签:存储,int,create,改查,t1,MySQL,增删,table,id From: https://www.cnblogs.com/lchengshao/p/17683403.html