DDL、DML、DQL、DCL

前言

DDL(Data Definition Language,数据定义语言)

DML(Data Manipulation Language,数据操纵语言)

DQL(Data Query Language,数据查询语言)

DCL(Data Control Language,数据控制语言)

1.DDL(Data Definition Language,数据定义语言)

主要用于维护存储数据的结构,这种结构包括数据库,表、视图、索引、同义词、聚簇等。

代表指令:

create 创建数据库和数据库的一些对象

drop 删除数据库/表、索引、条件约束以及数据表的权限等

alter 修改数据库表的定义及数据属性

2.DML(Data Manipulation Language,数据操纵语言)

介绍

用来对数据库进行增删改操作

1.添加

INSERT INTO 表名(字段1,字段2,...)VALUES(值1,值2,...)[,(值1,值2,...)...];

2.修改

UPDATE 表名 SET 字段1 = 值1,字段2=值2【where 条件】;

3.删除

DELETE FROM 表名【WHERE 条件】;

3.DCL(Data Control Language,数据控制语言)

管理用户

1.查询用户

USE mysql;

SELECT * FROM user;

2.创建用户

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

2.修改用户密码

ALTER USER ‘用户名'@'主机名’IDENTIFIED WITH mysqL native_ _password BY '新密码’ ;

3.删除用户

DROP USER‘用户名’@'主机名';

4.DQL(Data Query Language,数据查询语言)

条件查询

基本条件查询

1.查询多个字段

SELECT字段1, 字段2,字段3... FROM表名;

SELECT * FROM表名;

2.设置别名

SELECT字段1 [AS别名1],字段2 [AS别名2] .. FROM表名;

3.去除重复记录

SELECT DISTINCT字段列表FROM表名;


内连接和外连接

1.内连接

mysql> select * from user u inner join dep d on u.id=d.id;

+----+------+------+--------+--------+----+--------+

| id | name | age  | status | gender | id | name  |

+----+------+------+--------+--------+----+--------+

|  1 | Tom1 |  19 | 1      | 男    |  1 | 研发部 |

|  2 | Tom2 |  29 | 0      | 男    |  2 | 市场部 |

|  3 | Tom3 |  19 | 1      | 男    |  3 | 财务部 |

|  5 | Tom4 |  10 | 1      | 男    |  5 | 总经办 |

+----+------+------+--------+--------+----+--------+

4 rows in set (0.00 sec)

2.左外连接

mysql> select * from user u left join dep d on u.id=d.id;

+----+------+------+--------+--------+------+--------+

| id | name | age  | status | gender | id  | name  |

+----+------+------+--------+--------+------+--------+

|  1 | Tom1 |  19 | 1      | 男    |    1 | 研发部 |

|  2 | Tom2 |  29 | 0      | 男    |    2 | 市场部 |

|  3 | Tom3 |  19 | 1      | 男    |    3 | 财务部 |

|  5 | Tom4 |  10 | 1      | 男    |    5 | 总经办 |

|  6 | Tom5 |  80 | 1      | 男    | NULL | NULL  |

+----+------+------+--------+--------+------+--------+

5 rows in set (0.00 sec)

3.右外连接

mysql> select * from user u right join dep d on u.id=d.id;

+------+------+------+--------+--------+----+--------+

| id  | name | age  | status | gender | id | name  |

+------+------+------+--------+--------+----+--------+

|    1 | Tom1 |  19 | 1      | 男    |  1 | 研发部 |

|    2 | Tom2 |  29 | 0      | 男    |  2 | 市场部 |

|    3 | Tom3 |  19 | 1      | 男    |  3 | 财务部 |

| NULL | NULL | NULL | NULL  | NULL  |  4 | 销售部 |

|    5 | Tom4 |  10 | 1      | 男    |  5 | 总经办 |

+------+------+------+--------+--------+----+--------+

5 rows in set (0.00 sec)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容