MySQL之浅谈DDL和DML
导读
前言
在前面的文章中我们认识了MySQL,以及熟悉了如何使用MySQL的查询语句
数据操作增删查改中的查我们已经介绍了,那么本篇文章将会介绍剩下的增删改以及数据库和表的常用操作,比如创建、删除、修改。
一、DDL
可能有看官老爷会问,什么是DDL啊?这里博主简单介绍一下,DDL全名Data Define Languge,从英文上我们可以很轻松的翻译过来叫数据定义语言,即用于库和表的创建、修改、删除。
1.1 数据库操作
1.1.1 创建与使用数据库
#创建数据库 CREATE DATABASE 数据库库名; #创建数据库,先判断数据库是否存在,再创建 CREATE DATABASE IF NOT EXISTS 数据库库名; #创建数据库,并指定字符集 CREATE DATABASE 数据库库名 CHARACTER SET 字符集; #使用数据库 USE 数据库库名;
1.1.2 查询数据库
#查询所有数据库的名称 SHOW DATABASES; #查询某个数据库的字符集:查询某个数据库的创建语句 SHOW CREATE DATABASE 数据库库名; #查询正在使用的数据库名 SELECT DATABASE();
1.1.3 修改数据库的字符集
#修改数据库的字符集 ALTER DATABASE 数据库库名 CHARACTER SET 字符集名称;
1.1.4 删除数据库
#删除数据库 DROP DATABASE 数据库库名; #判断数据库是否存在,再删除 DROP DATABASE IF EXISTS 数据库库名;
1.2 数据表操作
1.2.1 创建数据表
#创建数据表 CREATE TABLE 表名( 列1 数据类型 【约束】, 列2 数据类型 【约束】, ... 列n 数据类型 【约束】 );
注:最后一句的时候不用加逗号。
1.2.2 查询数据表
#查询当前数据库中的所有表 SHOW TABLES; #查询某个数据库中的所有表 SHOW TABLES FROM 数据库库名; #查询表结构 DESC 表名;
1.2.3 修改数据表
#修改表名 ALTER TABLE 表名 RENAME TO 新表名; #修改表的字符集 ALTER TABLE 表名 CHARACTER SET 字符集; #添加一列 ALTER TABLE 表名 ADD 列名 数据类型; #修改列名称、数据类型 ALTER TABLE 表名 CHANGE 列名 新列别 新数据类型; ALTER TABLE 表名 MODIFY 列名 新数据类型; #删除列 ALTER TABLE 表名 DROP 列名;
1.2.4 删除数据表
#删除数据表 DROP TABLE 数据表; #先判断是否存在数据表,再删除 DROP TABLE IF EXISTS 数据表;
其实对数据库和数据表操作的关键字都是一样的,只不过是在之后表明是对数据库还是对数据表进行操作。如果是对数据库进行操作就加上database,如果是对数据表进行操作就加上table
1.3 常用数据类型
1.4 约束
概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
1.5 标识列
自增
在字段后面添加auto_increment
二、DML
介绍完DDL之后,我们再来看DML,DML全名Data Manipulate Language,同样直译过来就是数据处理语言,DML用于添加、删除、修改数据库记录,并检查数据完整性。
2.1 添加数据
#添加数据 INSERT INTO 表名(列名1,...) VALUES(值1,...); INSERT INTO 表名 SET 列名1 = 值1,...,列名n = 值n;
添加数据时需注意:
1.列名与值需要一一对应。
2.列数与值数必须一致。
3.省略列名,则默认给所有列添加值。
2.2 修改数据
#修改单表数据 UPDATE 表名 SET 列名1 = 值1,...,列名n = 值n 【WHERE 筛选条件】; #修改多表数据 UPDATE 表1 别名,表2 别名 SET 字段 = 新值,..., WHERE 连接条件 AND 筛选条件;
注:如果不加条件,则修改表中的所有数据。
2.3 删除数据
#删除数据 DELETE FROM 表名 【WHERE 条件】; #如果不加条件,则删除表中所有记录。 #删除表中所有记录 DELETE FROM 表名; ----不推荐使用。 TRUNCATE TABLE 表名; -----推荐使用,效率高。
delete与truncate对比: