DDL
DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
CREATE:创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
CREATE语句
创建数据库
在创建表之前,一定要先创建用来存储表的数据库。运行 CREATE DATABASE 语句可以在 RDBMS 上创建数据库,其语法格式如下
-- 字符集指定方式有两种,创建表时也一样
CREATE DATABASE [IF NOT EXISTS] <database_name>
[CHARSET charset_name][COLLATE collation_name];
CREATE DATABASE [IF NOT EXISTS] <database_name>
[CHARACTER SET charset_name][COLLATE collation_name];
- IF NOT EXISTS:如果数据库已经存在,则不创建,否则创建新的数据库
- charset_name:表示要使用的字符集名称
数据库中使用中文时,字符集一般指定为utf8mb4!
创建表
CREATE TABLE [IF NOT EXISTS] table_name(
column1 datatype [column_constraint],
column2 datatype [column_constraint],
...
<table_constraint1>,<table_constraint2>,...)
[CHARACTER SET charset_name] [COLLATE collation_name];
MySQL中常用的数据类型
MySQL 数据类型主要包括以下五大类:
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、INT、BIG INT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、
BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、
MultiLineString、Polygon、GeometryCollection 等
创建视图
创建索引
DROP语句
删除数据库
DROP DATABASE [IF EXISTS] <database_name>;
注意:在执行删除数据库操作前,请确保你确实想要删除数据库及其所有数据,因为该操作是不可逆的为了避免误操作,通常建议在执行删除之前备份数据库。
删除表
DROP TABLE [IF EXISTS] <table_name> ;
删除索引
ALTER语句
修改数据库
ALTER对数据库的常用操作有:修改数据库的名称、更改数据库的字符集/排序规则、
-- 修改数据库名称(MySQL暂时不支持直接修改数据库名称,可以通过数据备份的方式实现)
ALTER DATABASE mydatabase RENAME TO mydatabase_new;
--更改数据库的字符集
ALTER DATABASE mydatabase CHARSET new_charset;
--更改数据库的排序规则
ALTER DATABASE mydatabase COLLATE new_collate;
修改表
ALTER对表的常用操作有:增加列、删除列、修改列(列名、定义)、修改表名、删除主键、增加主键等
-- 在表中新增列
ALTER TABLE tbl_name ADD COLUMN column_name column_define;
-- 删除表中的列
ALTER TABLE tbl_name DROP COLUMN column_name;
-- 重命名列
ALTER TABLE tbl_name CHANGE column_name column_name_new;
-- 重定义列
ALTER TABLE tbl_name MODIFY column_name column_define;
-- 修改列的默认值
ALTER TABLE tb1_name ALTER COLUMN tb1_name SET DEFAULT default_value;
-- 修改表名
ALTER TABLE tbl_name RENAME [TO] table_name_new
-- 删除主键
ALTER TABLE tb1_name DROP PRIMARY KEY;
-- 增加主键
ALTER TABLE tb1_name ADD PRIMARY KEY (primary_key);