数据库四种语言的介绍(DDL,DML,DCL,DQL)

DDL

- DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;

1.CREATE        2.DROP       3.ALTER

--数据库的创建

CREATE DATABASE [IF NOT EXISTS] `数据库名称` [DEFAULT CHARACTER SET 字符集 COLLATE 排序规则字符集];

例如:

CREATE DATABASE IF NOT EXISTS mydb2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

--删除数据库

DROP DATABASE [IF EXISTS] `数据库名称`;

--修改数据库

ALTER DATABASE `数据库名称` CHARACTER SET utf8

*数据表定义

-数据完整性约束

非空约束: NOT NULL

主键约束: PRIMARY KEY

自增列: AUTO_INCREMENT (默认1,增量1)

默认约束: DEFAULT

检查约束: CHECK

唯一约束: UNIQUE KEY

外键约束: FOREIGN KEY

-创建表

CREATE TABLE [IF NOT EXISTS] `表名`(

字段名 数据类型 约束 ,

字段名 数据类型 约束 ,

字段名 数据类型 约束 ,

...

字段名 数据类型 约束

);

-删除表

DROP TABLE [IF EXISTS] `表名`;

- 不能删除外键约束

TURNCATE `表名`;

DDL的一些基本操作

-查看表列表

SHOW TABLES;

-查看表的创建

SHOW CREATE TABLE `表名`;

-查看表结构

DESC `表名`

-删除表

DROP TABLE `表名`

-添加列

ALTER TABLE `表名` ADD 列表 数据类型 约束

-修改列的类型

ALTER TABLE `表名` MODIFY 列明 新的数据类型

-修改列的列明+数据类型+约束

ALTER TABLE `表名` CHANGE 原列明 新列明 数据类型 约束;

-删除列

ALTER TABLE `表名` DROP `列明`

-表重命名

ALTER TABLE `表名` RENAME TO `新表名`

-删除主键

ALTER TABLE `表名` DROP PRIMARY KEY;

-添加主键

ALTER TABLE `表名` ADD CONSTRAINT 主键名称

PRIMARY KEY 表名(`字段名称`)

-删除外键

ALTER TABLE `表名` DROP FOREIGN KEY 外键名称;

-添加外键

ALTER TABLE `表名` ADD CONSTRAINT 外键名称

FOREIGN KEY `表名(`字段名称`) REFERENCES `表名(`字段名称`)

-删除唯一约束

ALTER TABLE `表名` DROP INDEX `约束字段`;

-添加唯一约束

ALTER TABLE `表名` ADD CONSTRAINT 唯一约束名称

UNIQUE KEY `表名`(`字段名称`) ;

-删除默认约束

ALTER TABLE `表名` ALTER 字段名称 DROP DEFAULT;

-添加默认约束

ALTER TABLE `表名` ALTER 字段名称 SET DEFAULT 默认值;

DML

- DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);

1.UPDATE 2.DELETE 3.INSERT

-数据插入

INSERT [INTO] `表名` (字段列表) VALUES (值列表)

-数据修改

UPDATE `表名` SET 字段名 = 值,字段名 = 值......

[WHERE 条件语句]

-数据删除

DELETE FROM `表名`

[WHERE 条件语句]

DCL

- DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;

用来管理数据库用户、控制数据库的访问权限

1.GRANT 2.INVOKE

-创建用户

CREATE USER 用户名@地址 IDENTIFIED BY '密码';

-删除用户

DROP USER 用户名;

-权限授予

GRANT 权限1, … , 权限n ON 数据库.* TO 用户名;

-权限撤销

REVOKE权限1, … , 权限n ON 数据库.* FORM 用户名;

-密码修改

UPDATE USER SET authentication_string=PASSWORD('密码') WHERE User='用户名' and Host='IP';

FLUSH PRIVILEGES;

DQL

- DQL(Data Query Language):数据查询语言,用来查询记录(数据)。

-SELECT

完整语法:

SELECT 字段列表(*) FROM `表名`

[WHERE 条件语句]

[GROUP BY 分组字段]

[HAVING 分组条件]

[ORDER BY 排序字段]

[DESC | ASC]

[LIMINT 偏移量,每页数量]

WHERE 和 HAVING区别?

WHERE条件是筛选分组的之前的数据,后不能使用聚合函数

HAVING条件是筛选分组后的数据,支持使用聚合函数

聚合函数:

1>.COUNT() 统计函数

2>.SUM() 求和函数

3>.MAX() 求最大值函数

4>.MIN() 求最小值函数

5>.AVG() 求平均值函数

-多表查询

-1.子查询

-2.复合查询

-3.内连接

INNER JOIN .... ON....

-4.外连接

[LEFT|RIGHT] JOIN...ON...

注意:内连接和外连接的区别

内连接只要有一张表的所有数据是NULL,则查结果不显示。

外连接如果有一张表的所有数据是NULL,则取决主从表的关系。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值