MySQL(3)

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);

posted @ 2019-04-11 20:22  web前端探索者  阅读(129)  评论(0编辑  收藏  举报