1.主键key
一个表必有一个唯一的标志符,往往都是id,尽量不要用数据记录去充当主键key;
(1)Primary key() 用于设置主键的
(2)设置主键的方法
1.Create table t4(id int primary key,age int);
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;
(3)自增:Auto_increment
1.Auto_increment 必须和primary key 配合使用
Create table t7(id int primary key auto_increment,age int);
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);