美文网首页
mysql语句

mysql语句

作者: 追逐的梦境 | 来源:发表于2017-06-12 20:35 被阅读0次

    DDL:对数据库,表,列进行操作DDL:对数据库,表,列进行操作

                        关键字:create      创建表和数据库

                                     alter          修改表的字段

                                     alter语句的关键字有 add(增加),drop(删除),modify(修改字段类型),change(可修改字段名和字段类型),rename to(修改表名)

                                   drop          删除表,数据库和一个字段

    DML:对表中的数据进行增,删,改的操作

                         关键字:     insert into    向表中插入一条数据

                                         update          修改数据

                                          delete             删除数据

    DQL:对表中的数据进行查询

                          关键字:  select    查询

    查看建表语句: show create table 表名

    基本语句:

    alter语句:

    向表中增加一个字段:         alter table 表名 add column 字段名 字段类型;

    删除表中一个字段:            alter table 表名 drop column 字段名;

    修改表中某一个字段类型: alter table 表名 modify column 字段名  新字段类型;

    可修改的字段名和修改字段类型:

                       alter table 表名 change column 字段名 新字段名  字段类型(也可写新字段类型)

    修改表名:   alter table 表名 rename to 表名;

    给字段添加主键: 

      alter table 表名 change column 字段名 字段名 字段类型 primary key auto_increment

     auto_increment:   给主键自增     (一般用于编号)

    drop语句

    删除数据库:  drop 数据库名;

    删除表:         drop 表名;

    删除字段:     alter table 表名 drop column 字段名

    DML语句

    插入一条所有字段的数据:insert into 表名 values(按字段顺序写值);

    插入一条部分字段的数据:insert into 表名 (字段名)values(值);

    修改数据:    update 表名 set 属性名=值;       修改的是 属性名 那一列的数据全部为 值

    按条件修改数据: update 表名 set 属性名=值 where 条件

    删除表所有 数据 :   delete from 表名 ;

    按条件删除数据:          delete from 表名 where 条件

    DQL语句

    查询所有数据: select * from 表名;

    查询部分字段: select 字段名1,字段名2 from 表名;

    查询去重数据: select distinct 字段名  from 表名;

    条件查询:

    1..逻辑:and和or

    select * from 表名 where name='jack' and pwd ='123';

    select * from 表名 where name=‘jack’or name='rose';

    2..比较条件: >  <  >=  <=  =  between and(在某个区间范围内,首位都包含在内)

    select * from 表名 where 字段>1;

    select * from 表名 where 字段名 between 数字 and 数字;

    3..判空条件:  =''  is null(判断空)  <>''(是不等于)  is not null(判断非空)

    select * from 表名 where 字段名<>' ';

    select * from 表名 where 字段名 is not null;

    select * from 表名 where 字段名 is  null;

    4..模糊查询  

       like关键字     _(表示一个字符)   %(表示多个字符  包括0个)

    想查询名字包含jack的

    select * from表名 where字段名 like '_jack';

    匹配名字包含jack的或者包含rose的

    select * from 表名 where 字段名 like '%jack%' or 字段名 like '%rose%';

    5..聚合函数 max(列) min(列) avg(列) count(列)(不包含null) sum(列)总和

    select  max(java) from student ;      不包含null

    select min(java) from student;          不包含null

    select sum(java) from student;          不包含null

    select avg(java) from student;      不包含null

    select count(*) from student;          不包含null

    6..分页查询

      关键字:  limit   int , int 

    select * from 表名  limit  3,4;

    3 表示从3的下一条语句开始查询         4表示查询出四条语句

    7..分组查询

    关键字: group by         

    select * from 表名 group by 分组的列名  ;

    按条件分组  

       关键字  : having   分组的的条件      where 分组前的条件

    select * from 表名  group by 分组的列名  having 条件;

    select * from 表名  where 条件   group by 分组的列名 ;

    8..排序查询

       关键字:order by   asc  升序   默认      可不许asc

                  order  by    desc  降序

    如果和分组一起用     先分组后排序

    select * from 表名 group by 分组的列名 order by 排序的列名

    9..多表查询

    1) 隐式内连接查询     (按照条件进行显示)

    select * from 表名1,表名2 where 表名1.(点) 主键=表名2.(点)   和主键有关系的列名

    2)显示内连接

    select * from 表名1 inner join 表名2 on  条件              inner 可省略

    3)外连接

    左外连接:   左边的表为主表       右边的表为副表

    右外连接:   右边的表为主表       左边的表为副表

    (1)左外连接:   select * from 表名1 left outer join 表名2 on 条件

    (2)右外连接:  select * from 表名1 rigth outer join 表名2 on 条件

    outer可省略

    4)自连接:   (自己连接自己)

      select * from 表 join 表 on 条件

    10..子查询      当一个sql语句需要用到另一个sql语句的结果集

        例:      1  查看用户为张三的订单详情

            select * from orders where user_id in(select id from user where username='张三')

    相关文章

      网友评论

          本文标题:mysql语句

          本文链接:https://www.haomeiwen.com/subject/hgfrqxtx.html