mysql补
数据库的增删查改
创建表
Create table 表名();在创建表的时候 一定要加字段
id 是字段 tinyint 是字段的属性 unsigned 也是字段属性 代表无符号 不会去负数扩充了正数的范围
unsingned 无符号
Create table t2(id int unsigned);建了一个t2的表 有一个叫id字段 且这个字段是整数型 无符号 扩能充了正数范围到
查看字段定义的时候,会发现int(5)5是字符宽度1 00001 如果在这个字段设置 id int(5)zerofill;id的宽度是5 如果输入2 前面会用0去填充 成为00002;
主键 key
一个表的有一个唯一的标志符,往往都是id,尽量不要用数据记录去充当主键key Primary key()用于设置主键的
设置主键的方法
Create table t4 (id int primary key,age int);
Create table t5 (id int,age int,primarily key(id));
Create table t6 (id,age,int);回车之后发现没有设置主键
可以使用 alter table t6 modify id int primary key;
自增
auto_increment
auto_increment 必须和primary key 配合使用
Create table t7(id int primary key auto _increment,age int);
加数据记录 insert into t13(age) values(23),(21),(19);
null
默认是null 但是主键不能是null 可以为空
not null 不能为空
default 默认值属性
Create table t11(id int not null,age int default 23);
后面在加数据记录的时候 age这个字段如果有值 就是这个值 如果没有就是默认值 23怎么加
insert t11(id) values(1),(2),(3)
添加数据记录
insert into 表名 (字段1,字段2) value(值1,值2);
数据库的数据类型
数值
tinyint int
讲了后面的属性 unsigned zerofill null default primary key auto_increment
float 单精度 最多到7为小数3.16528663=》3.165287
double 双精度 最多到14位小数
decimal 定值 存储货币
字符串
Char 定长字符串 不需要设置字符编码 不管是字母还是汉字都是一个字符
存储空间是固定的 哪怕放一个字母 也分配那么多空间
varchar 变长字符串 需要设置
根据存储量 varchar 比较省空间
mysql 设置字符编码 charset=utf8|gbkd;uft8 一个汉字占三个字节 gbk 一个汉字占2个字节
text 日期
查询数据记录
select *from 表名 他会把这个表中的所有数据都展示出来
也可以根据字段去查
select 字段from 表名
查询不重复的 distinct
条件查询
where 跟条件表达式
条件表达式><>=<=!= and or
聚合查询
sum() select sum(字段)from 表名
Count() 记录总数
Max()最大值
Min()
Group by 表示分类聚合
whith rollup 对分类后的结果再汇总 可有可无
Having 对分类后的结果再进行条件过滤
表链接
内链接
select*from t1,t3wheret1id=t3。id
外链接
左链接
select*from t1left join t2 on biao1 字段=表2.字段
右链接
左连接和右链接
左链接是把坐标的当主表
子查询
in 查询 子查询必须是按唯一一个字段查询
not in