10.MYSQL-DDL数据定义语言

#DDL
/*
数据定义语言
库和表的管理
一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除
创建:create
修改:alter
删除:drop
*/
#一、库的管理
#1.库的创建
/*
语法:
CREATE DATABASE [IF NOT EXISTS]库名;
*/
#案例:创建库BOOKS
CREATE DATABASE IF NOT EXISTS books;
#2.库的修改
#更改库的字符集
ALTER DATABASE books CHARACTER SET GBK;
#3.库的删除
DROP DATABASE IF EXISTS books;

#二、表的管理
#1.表的创建
/*
语法:
CREATE TABLE 表名(
					列名 列的类型【(长度) 约束】,
					列名 列的类型【(长度) 约束】,
					...
					列名 列的类型【(长度) 约束】
)
*/
#案例:创建表book
CREATE IF NOT EXISTS TABLE book(
ID INT,
Bname VARCHAR(20),
PRICE DOUBLE,
AUTHOR_ID INT,
PUBLISHdate DATETIME

);
#案例:创建表ANTHOR
CREATE TABLE AUTHOR(
ID INT,
AU_NAME VARCHAR(20),
NATION VARCHAR(10)
)
DESC AUTHOR;
#2.表的修改
语法:
ALTER TABLE 表名 ADD|DROP|CHANGE|MODIFY  COLUMN 列名【列类型 约束】
#(1)修改列名
ALTER TABLE book CHANGE COLUMN PUBLISHdate PUBDATE DATETIME;
#(2)修改列的类型
ALTER TABLE book MODIFY COLUMN PUBDATE TIMESTAMP;
DESC book;
#(3)添加新列
ALTER TABLE author ADD COLUMN ANNUAL DOUBLE;
DESC author;
#(4)删除列
ALTER TABLE author DROP COLUMN ANNUAL;
DESC author;
#(5)修改表名
ALTER TABLE author RENAME TO book_author;
#3.表的删出
DROP TABLE IF EXISTS book_author;
SHOW TABLES;

#通用的写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 新表名;

#4.表的复制
INSERT INTO book_author VALUES 
(1,'村上村树','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国')

#1.仅仅复制表的结构
CREATE TABLE COPY LIKE book_author;
SELECT * FROM COPY;

#2.复制表的结构外加数据
CREATE TABLE COPY2 SELECT
* 
FROM
	book_author;
#只复制部分数据
CREATE TABLE COPY3 SELECT
ID,
AU_NAME 
FROM
	book_author 
WHERE
	NATION = '中国';
#仅仅复制某些字段
CREATE TABLE COPY4 SELECT
ID,
AU_NAME 
FROM
	book_author 
WHERE
	1 = 2;//或者WHERE 0

练习:

#1.创建表DEPT1
CREATE TABLE DEPT1(
NAME VARCHAR(25),
ID INT(7)

);

#2.将departments中的数据插入新表DEPT2中
CREATE TABLE DEPT2 SELECT * FROM departments;
#3.创建表emp5
CREATE TABLE EMP5(
ID INT(7),
First_name VARCHAR(25),
Last_name VARCHAR(25),
Dept_id INT(7)
);
#4.将列lastname的长度增加到9
ALTER TABLE EMP5 MODIFY COLUMN last_name VARCHAR(50);
DESC EMP5;
#5.根据表employees创建表employees2
CREATE TABLE employees2 LIKE employees;
#6.删除表EMP5
DROP TABLE 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;
发布了21 篇原创文章 · 获赞 2 · 访问量 5294

猜你喜欢

转载自blog.csdn.net/qq_41644888/article/details/105129184
今日推荐