MySQL语法整合

目录

   一、DDL

      1、注释

      2、创建数据库:

      3、使用数据库:

      4、查询当前所处的数据库

      5、删除数据库:

      6、查询所有的数据库

      7、约束类型:

      8、数据类型:

      9、创建表

     10、使用show关键字查看表

     11、使用describe关键字查看表

     12、修改表名

     13、修改字段名

     14、修改字段的数据类型

     15、添加字段

     16、删除字段

     17、删除表

二、DML

      1、运算符:

      2、添加数据:insert

      3、修改数据:update

      4、删除数据:delete

      5、使用truncate删除表数据:删表后自动重构表结构

三、DQL

      1、查询

      2、聚合函数:

      3、模糊查询

      4、连接查询

      5、子查询

四、DCL

      1、备份数据库(dos窗口运行)

      2、还原数据库

      3、创建用户

      4、授予权限

      5、回收权限


一、DDL

    1、注释

  1.            (1) “--单行注释  ”     
  2.            (2) “ /*   多行注释    */ ”
  3.      2、创建数据库:

  4. create database [if not exists] 数据库名;

     3、使用数据库:

use 数据库名;

     4、查询当前所处的数据库

select database();

      5、删除数据库:

drop database [if exists] 数据库名;

      6、查询所有的数据库

show databases;

      7、约束类型:

(1)主键约束(Primary Key ),自增长(Auto)

(2)非空约束(Not null)

(3)唯一约束(Unique)

(4)默认值约束(Default)

(5)外键约束(Foreign key)

      8、数据类型:

(1)数值类型:

int    4字节    整数

float  8字节    小数

double 8字节    小数

(2)字符串类型

char   0-255    定长字符串  长度固定

varchar         变长字符串  长度可变

blob     存二进制数

(3)日期和时间

date   YYYY-MM-DD   日期值

time   HH:MM:SS     时间值

datetime  YYYY-MM-DD HH:MM:SS  混合日期和时间值

      9、创建表

create table 表名(

字段1 数据类型(长度) 约束,

字段2 数据类型(长度) 约束,

.....

字段n 数据类型(长度) 约束

);

(1)主键约束:primary key

①单字段主键:直接在主键字段后加primary key或用primary key(主键字段名) 的函数

②多字段主键:用primary key(字段1,字段2..)函数

(2)非空约束:not null

(3)唯一约束:unique

(4)默认值约束:default 值

(5)外键约束:foreign key

(6)自增长:auto_increment

(7)注释:comment'值'

      10、使用show关键字查看表

语法:show create table 表名;

      11、使用describe关键字查看表

语法:describe 表名;  或 desc 表名;

      12、修改表名

语法:alter table 旧表名 rename [to] 新表名;

      13、修改字段名

语法:alter table 表名 change 旧字段 新字段 数据类型(大小);

      14、修改字段的数据类型

语法:alter table 表名 modify 字段名 新数据类型(大小);

      15、添加字段

语法:alter table 表名 add 字段名 数据类型(大小) 约束 [first|after 已有字段名];

      16、删除字段

语法:alter table 表名 drop 字段名;

      17、删除表

语法:drop table 表名;

二、DML

      1、运算符:

(1)算术运算符:+ - * / %

(2)赋值运算符:=    age=18

(3)逻辑运算符:and与  or或  not非

(4)比较运算符:> < >= <= =等于 <>不等于

      2、添加数据:insert

insert into 表名[(字段列表)]  values(字段对应的值)[,(字段对应的值)];

      3、修改数据:update

update 表名 set 字段=值 where 条件;

      4、删除数据:delete

语法:delete from 表名 where 条件;

      5、使用truncate删除表数据:删表后自动重构表结构

语法:truncate table 表名;

三、DQL

      1、查询

select [distinct] *|字段名|表达式|函数

from 表名

where 条件

group by 分组字段

having 筛选条件

order by 排序字段 asc|desc

limit offset,总行数;

      2、聚合函数:

(1)sum():用来求和

语法:select sum(字段名) from 表名;

(2)avg():求平均值

语法:select avg(字段名) from 表名;

(3)max():求最大值

语法:select max(字段名) from 表名;

(4)min():求最小值

语法:select min(字段名) from 表名;

(5)count():用来计算数量

语法:select count(字段名|*) from 表名;

      3、模糊查询

(1)like关键字

语法:select * from 表名 where 字段名 [not] like '匹配字符串';

% :表示匹配任意长度的字符串

_ :表示匹配任意单个字符

(2)in关键字

语法:select * from 表名 where 字段名 [not] in(值1,值2....);

(3)between and关键字

语法:select * from 表名 where 字段名 [not] between 值1 and 值2;

(4)空值查询

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

      4、连接查询

(1)交叉连接:cross join,笛卡尔积

语法:select * from 表1 cross join 表2 on 连接条件;

(2)内连接:inner join,等值连接

语法:select * from 表1 [inner] join 表2 on 连接条件;

(3)外连接

①左外连接:left outer join

语法:select * from 表1 left [outer] join 表2 on 连接条件;

②右外连接:right outer join

语法:select * from 表1 right [outer] join 表2 on 连接条件;

      5、子查询

in、any、all、exists、运算符

四、DCL

      1、备份数据库(dos窗口运行)

mysqldump -u 用户名 -p密码 [--databases] 数据库名 [--table] 表名 >保存路径

      2、还原数据库

ysql -u 用户名 -p密码 数据库名 < 路径

      3、创建用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

      4、授予权限

grant 权限列名 on 数据库名.表名 to '用户名'@'主机名' identified by '密码';

      5、回收权限

revoke 权限列名 on 数据库名.表名 from '用户名'@'主机名';

你可能感兴趣的:(mysql,数据库)