MySQL数据库:第十二章:(DDL)Data Define Language数据定义语言

回退至Mysql数据库理论与实战

#DDL
Data Define Language数据定义语言

关键字:create、alter、drop
库的管理
表的管理
#一、库的管理
#1、创建库
#语法:create database [if not exists] 库名
CREATE DATABASE IF NOT EXISTS stu0906 ;
#2、删除库
#语法:drop database[if exists] 库名
DROP DATABASE IF EXISTS stuBig0906;
#二、表的管理
#1、创建表 ★
#语法:
CREATE TABLE [IF NOT EXISTS] 表名(
字段名 数据类型 [约束],
字段名 数据类型 [约束],
。。。。
);
#示例:学员信息表的创建

CREATE TABLE IF NOT EXISTS stuinfo(
    stuid INT,
    stuname VARCHAR(10),
    gender CHAR,
    email VARCHAR(20),
    borndate TIMESTAMP
);

DESC students;
SHOW TABLES;
#2、修改表【了解】
ALTER TABLE 表名 CHANGE|MODIFY|DROP|ADD COLUMN 字段名 字段类型;

#①修改表名
ALTER TABLE stuinfo RENAME TO students;
#②修改列名
ALTER TABLE students CHANGE COLUMN borndate birthday TIMESTAMP;
#③修改字段类型
ALTER TABLE students MODIFY COLUMN birthday DATETIME;
#④添加新列
ALTER TABLE students ADD COLUMN address VARCHAR(30);
#⑤删除旧列
ALTER TABLE students DROP COLUMN address;

#3、删除表★
DROP TABLE IF EXISTS students;
#4、复制表
USE test;

#①仅仅只是复制了表的结构
CREATE TABLE newTab1 LIKE  chinese;
#②复制了表的结构+数据
CREATE TABLE newTab2 SELECT * FROM chinese;

SHOW TABLES;
#案例:复制usa表中的uname和ugender结构,但不要数据
CREATE TABLE newTab4
SELECT uname,ugender FROM usa WHERE 0;

#1.创建表
NAME NULL? TYPE
id  INT(7)
NAME VARCHAR(25)
USE myemployees;
CREATE TABLE dept1(
  id INT(7),
  NAME VARCHAR(25)
);
#2. 将表 departments 中的数据插入新表 dept2 中
CREATE TABLE dept2 SELECT * FROM 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 的长度增加到 50
ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);
#5. 根据表 employees 创建 employees2
CREATE TABLE employees2 LIKE employees;
#6. 删除表 emp5
DROP TABLE IF EXISTS emp5;
#7. 将表 employees2 重命名为 emp5
ALTER TABLE employees2 RENAME TO emp5;
#8 在表 dept 和 emp5 中添加新列 test_column,并检查所作的操作
ALTER TABLE emp5 ADD COLUMN test_column INT;
#9.直接删除表 emp5 中的列 dept_id
ALTER TABLE emp5 DROP COLUMN department_id;