案例1
-- 1. 创建表dept1-- NAME NULL? TYPE-- id INT(7)-- NAME VARCHAR(25)USE test;CREATE TABLE dept1( id INT(7), NAME VARCHAR(25));-- 2. 将表departments中的数据插入新表dept2中CREATE TABLE dept2SELECT department_id,department_nameFROM myemployees.departments;-- 3. 创建表emp5-- NAME NULL? TYPE-- id INT(7)-- First_name VARCHAR (25)-- Last_name VARCHAR(25)-- Dept_id INT(7)CREATE TABLE emp5(id INT(7),first_name VARCHAR(25),last_name VARCHAR(25),dept_id INT(7));-- 4. 将列Last_name的长度增加到50ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);-- 5. 根据表employees创建employees2CREATE TABLE employees2 LIKE myemployees.employees;-- 6. 删除表emp5DROP TABLE IF EXISTS emp5;-- 7. 将表employees2重命名为emp5ALTER TABLE employees2 RENAME TO emp5;-- 8.在表dept和emp5中添加新列test_column,并检查所作的操作ALTER TABLE emp5 ADD COLUMN test_column INT;-- 9.直接删除表emp5中的列 dept_idDESC emp5;ALTER TABLE emp5 DROP COLUMN test_column;
案例2
-- 1.向表emp2的id列中添加PRIMARY KEY约束(my_emp_id_pk)
ALTER TABLE emp2 MODIFY COLUMN id INT PRIMARY KEY;
ALTER TABLE emp2 ADD CONSTRAINT my_emp_id_pk PRIMARY KEY(id);
-- 2. 向表dept2的id列中添加PRIMARY KEY约束(my_dept_id_pk)
-- 3. 向表emp2中添加列dept_id,并在其中定义FOREIGN KEY约束,与之相关联的列是dept2表中的id列。
ALTER TABLE emp2 ADD COLUMN dept_id INT;
ALTER TABLE emp2 ADD CONSTRAINT fk_emp2_dept2 FOREIGN KEY(dept_id) REFERENCES dept2(id);
|
位置 |
支持的约束类型 |
是否可以起约束名 |
| 列级约束 |
列的后面 |
语法都支持,但外键没有效果 |
不可以 |
| 表级约束 |
所有列的下面 |
默认和非空不支持,其他支持 |
可以(主键没有效果) |