首页 > 数据库技术 > 详细

MySQL常用语句

时间:2019-08-01 00:47:45      阅读:81      评论:0      收藏:0      [点我收藏+]

一、常用语句分类:

  (1DDL:数据定义语言:用来定义数据库对象:创建库,表,列等;

  (2DML:数据操作语言:用来操作数据库中的记录;

  (3DQL:数据查询语言:用来查询数据库;

  (4DCL:数据控制语言:用来定义访问权限和安全级别;

二、DDL定义:

  1、操作数据库:

    1)查询所有库:show databases;

    2)使用库:use 数据库名;

    3)创建库:CREATE DATABASE 数据库名 CHARACTER SET utf8;

    4)删除库:DROP database 库名;

  2、操作表:

    1)查询所有表:show tables;

    2)查询表字段:DESC 表名;

    3)创建表:CREATE TABLE 表名(列名1 列的类型 [约束]列名2 列的类型 [约束]);

CREATE TABLE USER ( id BIGINT PRIMARY KEY auto_increment, NAME VARCHAR ( 20 ), age INT );

    4)删除表:DROP TABLE 表名;

    5)修改表名:RENAME TABLE 原始表名 TO 要修改的表名;

    6)修改表的字符集:ALTER TABLE 表名 CHARACTER SET 字符集名称;

        --------------------------------------------------------------------------

    7)修改表中列的字段类型:ALTER TABLE 表名 MODIFY 字段名 数据类型;

    8)修改表中的字段名:ALTER TABLE 表名 CHANGE 原始列名 新列名 数据类型;

    9)添加一列:ALTER TABLE 表名 ADD 列名 数据类型;

    10)删除一列:ALTER TABLE 表名 DROP 字段名;

三、DML操作:

  1、插入操作:INSERT INTO 表名 (列名1,列名2) VALUES(列值1,列值2),(列值1,列值2);

INSERT INTO user (name,age) VALUES ("zs",12),("ls",15),("ws",18);

  2、更改操作:UPDATE 表名 SET 列名1=修改后的列值1,列名2=修改后的列值2 。。。 WHERE 列名=值;

UPDATE user set name="ww",age=100 WHERE name="zs";

  3、删除操作:

    1)DELETE FROM 表名 WHERE 列名=值;

    2)TRUNCATE TABLE 表名;

    //DELETE删除表中的数据,表结构还在,数据可以找回;

    //truncate 直接用DROP把表删除,再创建一个同样的新表,数据不能找回,执行速度快;

 四、DQL查询:

  1、条件查询WHERE:后面可加运算符和关键字;

    1) =   !=    <>    <    <=    >    >=;

    2)BETWEEN…AND; 值在什么范围,包含首尾;例:between 值1 and 值2;

    3)IN(SET);固定的范围值;例:in(值1,值2,值3);

    4)IS NULL:为空;IS NOT NULL:不为空;//性能差,用isnull()函数;

    5)AND;与;

    6)OR;或;

    7)NOT;非;

    8)+ - * % %;算术运算符;//性能极差,千万别用;

   2、模糊查询LIKE:后面可加通配符;

    注释:like后面需要单引号括起来;

SELECT * FROM user where age LIKE %

    通配符:

      (1) _:任意一个字母;

      (2) %:任意0-n个字母;

    举例:1)%s%:包含s;2) _s%:第二个字母是s;

  3、字段控制查询:

    1)去重:SELECT DISTINCT 列名 FROM 表名;

    2)把查询的字段结果进行运算,值必须是数值型:

      (1) SELECT *,字段1+字段2 FROM 表名;

      (2) 当查询结果为null时:SELECT *,字段1+IFNULL(字段2,0) FROM 表名;

    3)对查询结果起别名:关键字:AS;

      例: SELECT *,字段1+字段2 AS 别名 FROM 表名;

      注释:(1)as可以省略;(2)不能加引号;

  4、排序:

    1)关键字:ORDER BY;

    2)排序类型:

      (1) 升序:ASC;

      (2)降序:DESC

      例:select * from 表名 order by 列名1 asc,列名2 desc;

   5、聚合函数:

    1)COUNT():统计指定列不为NULL的记录行数;select count(*/列名),count() from 表名;

    2)MAX():计算最大值,如果是字符串,则使用字符串排序运算;select sum(列名) from 表名;

    3)MIN():计算最小值,如果是字符串,则使用字符串排序运算;

    4)SUM():计算和,如果不是数值类型,则为0;

    5)AVG():计算平均数,如果不是数值类型,则为0;

    //结果是一个可能不存在的数据,因此无法和表中的数据进行比对;

    //聚合函数是对记录的一个压缩的过程,得到的是一个数值;

   6、分组查询:

    1)关键字:GROUP BY;例:select 列名1 from 表名 group by 列名1

    2)显示组内集合:group_concat();例:select 列名1group_concat(列名2) from 表名 group by 列名1

    3)group by+聚合函数;

    4)分组后条件查询:group by +having;例:select 列名1,group_concat(列名2),sum(列名2) from test GROUP BY 列名1 having sum(列名2)>12;

    书写顺序:select    from    where    group by   having    order by    limit

    执行顺序:from    where    group by   having    select    order by    limit

  7、LIMIT:

    1)LIMIT参数1,参数2

参数1:从哪一行开始;

参数2:一共查几行;

2)角标从0开始;

3)分页思路:

int curPage=1//当前页

int pageSize=3//每页数据;

--当前页为1第一页从0开始(1-1*3=0

--当前页为2第一页从3开始(2-1*3=3

--当前页为3第一页从6开始(3-1*3=6

select * from 表名 limit (curPage-1)*pageSize,pageSize

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术分享图片

MySQL常用语句

原文:https://www.cnblogs.com/Tractors/p/11279855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!