MySQL DDL数据定义的四个关键字
1. 添加新列
ALTER TABLE table_name
ADD column_name data_type;
2. 删除列
ALTER TABLE table_name
DROP COLUMN column_name;
删除名为 email
的列:
ALTER TABLE employees
DROP COLUMN email;
3. 修改列的数据类型
ALTER TABLE table_name
MODIFY COLUMN column_name new_data_type;
修改salary
列的数据类型
ALTER TABLE employees
MODIFY COLUMN salary DECIMAL(12, 2);
4. 重命名列
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
重命名:
ALTER TABLE employees
RENAME COLUMN first_name TO given_name;
5.其他
- 删除外键:
alter table 从表名 drop foreign key 外键名;
-
修改表名:
ALTER TABLE old_table_name RENAME TO new_table_name;-- 修改表名
-
修改表字符集:
ALTER TABLE table_name CHARACTER SET new_character_set; -- 修改表的字符集
-
修改列名称:
ALTER TABLE table_name CHANGE old_column_name new_column_name data_type; -- 修改列名称
-
修改数据库:
ALTER DATABASE you CHARACTER SET utf8; -- 修改数据库使用的字符集
CREATE TABLE
: 创建表。
基本语法
CREATE TABLE table_name (column1 data_type [constraints],column2 data_type [constraints],...
);
constraints
: 可选,定义列的约束,如PRIMARY KEY
,FOREIGN KEY
,NOT NULL
,UNIQUE
,DEFAULT
.
示例:
CREATE TABLE employees (employee_id INT PRIMARY KEY,--主键first_name VARCHAR(50) NOT NULL,last_name VARCHAR(50) NOT NULL,hire_date DATE, --日期类型salary DECIMAL(10, 2) --十进制类型,两位小数,10是数字的总长度,2是小数点后的位数
);
创建数据库:
CREATE DATABASE mydatabase; // 创建新的数据库
CREATE DATABASE IF NOT EXISTS mydatabase; // 创建前判断有没有存在该数据库
CREATE DATABASE example CHARACTER SET gbk; // 创建指定字符集的数据库
1. 删除数据库
DROP DATABASE my; // 删除数据库DROP DATABASE IF EXISTS myl; // 判断数据库是否存在,存在就删除
2. 删除表
DROP TABLE table_name;
3. 删除视图
DROP VIEW view_name;
TRUNCATE TABLE
: 删除所有数据,但表的定义(列、数据类型等)仍然存在,可以继续向表中插入数据。
TRUNCATE TABLE table_name;