MySql 增删改查

一:数据库 CRUD

  1.C(Create):创建数据库

    create database[if not exists] 数据库名 character set 字符集名称;

  2.R(Retrieve):查询数据库

    show databases;

    show create database 数据库名称;  查询某个数据库创建语句(数据库字符集)

  3.U(update):修改

    alter database 数据库名称 character set 字符集名;  修改字符集

  4.D(Delete):删除

    drop database [if exists] 数据库名;

  5.使用数据库

    use 数据库;

二:操作表

  1.C(Create):创建数据库

      create table 表明 like 被赋值的表明;  复制表

      1.date:日期,只包含年月日 yyyy-MM-dd

      2.datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss

      3.timestamp:时间错类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss

          *如果不给该字段赋值,或赋值为null,则默认使用当前系统时间,来自动赋值

  2.R(Retrieve):查询数据库

    show tables;

    desc 表名; 查询表结构

  3.U(update):修改

      alter table 表明 rename to 新表名;     修改表名

      alter table 表明 character set 字符集名称;  修改表的字符集

      alter table 表明 add 列名 数据类型;     添加一列

      alter table 表名 change 列名 新列名 新数据类型;  修改列名和数据类型

      alter table 表明 modify 列明 新数据类型      修改数据类型

      alter table 表明 drop 列明             删除列名

  4.D(Delete):删除

    drop database [if exists] 数据库名;

三.增删改表中的数据

  1.添加数据

    insert into 表明  (列明1,列明2...)  values(值1,值2...)

  2.删除数据

    delete from 表名[ where 条件 ]

      不加条件,则表示删除表中所有记录,一条一条删除,效率低

    truncate table 表明;        相当于 先删除一个表, 再创建一个一摸一样的新表

  3.修改数据

      update 表明 set 列名1=值1,列名2=值2.....where 条件

  4.查询 

    1.排序查询

        order by 子句

            order by 排序字段1, [排序方式] ,排序字段2 [排序方式]...;

            排序方式:ASC 升序;

                DESC 降序;

            注:如果有多个排序条件,当前面的条件一样时,才会判断第二个条件

    2.聚合函数:将一列数据为一个整体,进行纵向的计算

        ifNull(exression1,exression2); 如果函数不为空返回exression1,否则返回exression2

        1.count;  计算个数

        2.max:     计算最大值

        3.min:  计算最小值

        4.sum:  计算和

        5.avg:  计算平均值

      注:聚合函数的计算,排除null值

    3.分组查询

        group by 分组字段;

        注:

          1.分组之后查询的字段:分组字段  聚合函数

          2.where 和Having 的区别

              1.where 在分组之前进行判定,如果不满足条件,则不进行分组.

                having在分组之后进行判定,如果不满足条件,则不会被查出来

              2.where 后不可以跟聚合函数,having可以进行可以进行聚合函数的判定

    4.分页查询

        limit 开始的索引,分页查询的数目

        注:limit只能在mysql数据库中使用

    查询的语法:

        select  

          字段列表/聚合函数(字段列表)

        from  表名

        where 条件列表

        group by  分组字段

        order by  排序

        limit 分页限定;

      1.as 起别名,as可以省略。

    5.条件查询

      where子句后跟条件

    运算符

      1.between  ...and...  在..之间  列:select * from student where age between 20 and 30;

      2.in(集合)  包含/为      select * from student where age in(20,22,18);  从学生里查询年龄为20,22,18的信息

      3.like    模糊查询

            占位符:

            _:任意单个字符

            %:任意个字符  

      4.is null   为空

      5.is not null  不为空

        

原文地址:https://www.cnblogs.com/dragonyl/p/11266756.html