1.主键keysql
一个表必有一个惟一的标志符,每每都是id,尽可能不要用数据记录去充当主键key;数据库
(1)Primary key() 用于设置主键的编码
(2)设置主键的方法spa
1.Create table t4(id int primary key,age int);rem
2.Create table t5(id int,age int,primary key(id));字符串
3.Create table t6(id int,age int);回车以后发现没有设置主键,能够使用alter table t6 modify id int primary key;it
(3)自增:Auto_increment字符编码
1.Auto_increment 必须和primary key 配合使用table
Create table t7(id int primary key auto_increment,age int);class
2.加数据记录insert into t13(age) values(23),(21),(19);
2.Null
1.默认是null 可是主键不能是null 能够为空
2.Not null 不能为空
3.Default 默认值属性
Create table t11(id int not null,age int default 23);
后面在加数据记录的时候age这个字段若是有值就是这个值若是没有就是默认值23
怎么加:
Insert into t11(id) values(1),(2),(3)
4.添加数据记录
Insert into 表名[(字段1,字段2)] values(值1,值2);
5.数据库的数据类型
(1)数值
Tinyint int
Float 单精度最多到7位小数3.16528663=》3.165287
(2)字符串
1.Char 定长字符串不须要设置字符编码无论是字母仍是汉字都是一个字符
存储空间是固定的哪怕放一个字母也分配那么多空间
2.Varchar 变长字符串须要设置
根据存储量varchar比较节省空间
3.Mysql设置字符编码charset=utf8|gbkd; uft8 一个汉字占三个字节gbk 一个汉字占2个字节
4.Text
(3)日期
6.聚合查询
(1)sum() select sum(字段) from 表名
(2)count()记录总数 select count(*)from 表名;
(3)max()最大值 select max(字段)from 表名;
(4)min()最小值 select min(字段)from 表名;
(5)group by 表示分类聚合
(6)with rollup 对分类后的结果再汇总 无关紧要
(7)having 对分类后的结果在进行条件过滤
7.表连接
内连接 select * from 表名1,表名2 where 表名1.id=表名 2.eid;
左链接 select * from 表名1 left join 表名2 on 表1.字段=表2.字段;
右链接 select * from 表名1 right join 表名2 on 表1.字段=表2.字段;
子查询 in查询 select * from 表1 where id in(select eid from 表2);