DDL代表数据定义语言(Data Definition Language),它是SQL语言的一个子集,用于定义数据库对象,如表、列、索引、约束等。DDL语句的执行将对数据库模式进行更改,这将影响到数据库的结构和存储。
以下是一些常见的DDL语句:
- CREATE:用于创建数据库对象,如表、视图、索引等。
- ALTER:用于修改数据库对象的结构,如添加/删除/修改列、更改数据类型等。
- DROP:用于删除数据库对象,如表、视图、索引等。
- TRUNCATE:用于删除表中的所有行,但保留表结构。
- RENAME:用于重命名数据库对象,如表、列、约束等。
库操作
show databases; -- 展示MySQLZ中所有数据库
/*
Mysql中系统数据库,不要删除,不要轻易修改
information_schema --》 保存数据库相关信息【元数据】,通常保存【表、列名和访问权限】
mysql --》 核心数据库,负责存储数据库【用户、权限、关键字等等】 不可删除
performance_schema --》性能优化库,在Mysql5.5版本中引入的一个优化引擎
sys --》 Mysql8.0系统数据库,对元数据信息进行从操作,解决系统瓶颈
*/
# 创建数据库
create database 数据库名称;
#在创建数据库的同时进行数据库编码的设置
create database 数据库名称 character set 编码集名; ---》 GBK 、 UTF8(常用)
create database mydb;
# 查询数据的创建信息 --》看数据库的编码集
show create database 数据库名;
show create database qfdb;
# 更改数据库编码集 --》这个更改编码集仅对修改之后创建表有效,之前无效
alter database 数据库名 character set 编码集;
#查看当前使用数据库是谁
select database();
# 使用某个库进行操作
use 数据库名称;
use qfdb;
# 切记慎用! 使用前请确保有备份
drop database 数据库名;
表操作
# 创建表表中之后一列
create table 表名(
列名 列的数据类型 [约束]
);
# 创建表存在多列
create table 表名(
列名 列的数据类型 [约束],
列名 列的数据类型 [约束],
列名 列的数据类型 [约束],
...
列名 列的数据类型 [约束]
)ENGINE=存储引擎 DEFAULT CHARSET=表的编辑;
/*
创建表的说明:
1. 如果是在命令行中进行表达创建操作,建议将建表语句写成一行
2. 每张表都有表名,表名必须是唯一不允许使用MySQL中提供系统关键字,如果使用到系统关键字使用【``】反引号括起来
例如:一张order表,order属于MySQL的关键字,所以这个表名 `order`
3. 在创建表的时候对于列的[约束]可以省略不写,当讲表达完整性验证的时候在进行添加
4. 在创建表的可以指定建表编码集和存储引擎, 如果不提供默认以所在数据库为准
*/
# 创建一张表t_student,表中的信息有 id、name、age
create table t_student(
id int,
name varchar(100),
age int
);
#查看当前数据库中有哪些表
show tables;
#查看表的信息
desc 表名;
desc t_student;
# 向表中添加一列(建表阶段完成,不允许在有数据的表中操作)
alter table 表名 add 列名 列的数据类型;
# 修改列的数据类型【在没有数据的列可以操作】
alter table 表名 modify 列名字 列新的数据类型;
# 修改表的名字
rename table 原表名 to 新表名;
# 更改表的编码集
alter table 表名 character set 编码集;
# 查看表的完整建表语句
show create table 表名;
# 请慎重!确保有备份的前提下使用!
drop table 表名;
更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料
【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频