文章目录
☃️概述
MySQL 通用语法分类
● DDL: 数据定义语言,用来 定义数据库对象(数据库、表、字段)
● DML: 数据操作语言,用来对数据库表中的数据进行增删改
● DQL: 数据查询语言,用来 查询 数据库中表的记录
● DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限
☃️DDL(数据定义语言)
DDL
指的是数据定义语言
(Data Definition Language),它是用来定义数据库结构和布局的语言。通常用于创建和修改数据库对象,比如表、视图、索引等。DDL 包括了一些常见的命令,比如 CREATE
、ALTER
、DROP
等,这些命令可以用来创建、修改和删除数据库对象,从而定义数据在数据库中的结构。
☃️数据库操作
数据库操作有如下语法:
● 查询所有数据库:
SHOW DATABASES;
● 查询当前数据库:
SELECT DATABASE();
● 创建数据库:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
CREATE DATABASE test_snow DEFAULT CHARSET utf8mb4;
● 删除数据库:
DROP DATABASE [ IF EXISTS ] 数据库名;
● 使用数据库:
USE 数据库名;
注意事项
● UTF8
字符集长度为3字节,有些符号占4字节,所以推荐用 utf8mb4
字符集
☃️表操作
● 查询当前数据库所有表:
SHOW TABLES;
● 查询表结构:
DESC 表名;
● 查询指定表的建表语句:
SHOW CREATE TABLE 表名;
创建表:
sql
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
字段3 字段3类型 [COMMENT 字段3注释],
...
字段n 字段n类型 [COMMENT 字段n注释]
)[ COMMENT 表注释 ];
最后一个字段后面没有逗号.
添加字段 ADD:
sql
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';
// 在 字段A 后面/前面 添加一个新的字段 nickname
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称' [AFTER/BEFORE] 字段A ;
修改数据类型 MODIFY:
sql
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型 CHANGE:
sql
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
// 例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';
删除字段:
sql
ALTER TABLE 表名 DROP 字段名;
修改表名:
sql
ALTER TABLE 表名 RENAME TO 新表名
删除表:
sql
DROP TABLE [IF EXISTS] 表名;
删除表,并重新创建该表:
sql
TRUNCATE TABLE 表名;
☃️DDL的重要性
DDL 的重要性在于它是数据库管理的基础。通过DDL,你可以定义数据库中的各种对象,如表、视图、索引等,从而决定了数据在数据库中的结构和组织方式。这种结构的定义对于数据库的性能、安全性和可维护性都至关重要。
具体来说,DDL 的重要性体现在以下几个方面:
数据库结构定义:DDL 允许你定义数据库中的各种对象及其属性,如表的字段、数据类型、约束等,这直接影响了数据的存储和组织方式。
数据完整性:DDL 中可以定义各种约束条件,如主键约束、外键约束、唯一约束等,这有助于确保数据的完整性,防止无效或不符合规范的数据进入数据库。
数据库性能优化:通过合理地设计数据库结构和索引,可以提高数据库的查询性能和响应速度。DDL 提供了创建和管理索引的命令,使得优化数据库性能成为可能。
数据安全性:DDL 允许你设置访问权限和安全控制,限制用户对数据库对象的操作和访问权限,保护敏感数据不被未经授权的用户访问。
数据库版本控制和管理:DDL 脚本记录了数据库对象的创建和修改过程,可以作为数据库版本控制的一部分,帮助团队协作和管理数据库变更。
DDL 是数据库管理的重要组成部分,它定义了数据库的基本结构和属性,直接影响着数据库的性能、安全性和可维护性,因此在数据库设计和管理中起着至关重要的作用。