1 #DDL
2 /*
3 数据定义语言
4
5 库和表的管理
6
7 一、库的管理
8 创建、修改、删除
9 二、表的管理
10 创建、修改、删除
11
12 创建:create
13 修改:alter
14 删除:drop
15 */
16
17 #一、库的管理
18 #1、库的创建
19 /*
20 语法:
21 create database [if not exists]库名;
22 */
23
24 #案例:创建库books
25
26 CREATE DATABASE IF NOT EXISTS books;
27
28 #2、库的修改
29 RENAME DATABASE books TO 新库名;
30
31 #更改库的字符集
32 ALTER DATABASE books CHARACTER SET gbk;
33
34 #3、库的删除
35 DROP DATABASE if EXISTS books;
36
37 #二、表的管理
38 #1、表的创建
39
40 /*
41 CREATE TABLE 表名(
42 列名 列的类【(长度) 约束】,
43 列名 列的类【(长度) 约束】,
44 列名 列的类【(长度) 约束】,
45 列名 列的类【(长度) 约束】,
46 。。。
47 */
48
49 #案例:创建表Book
50 USE myemployees;
51 CREATE TABLE book(
52 id INT,
53 bname VARCHAR(20),
54 price DOUBLE,
55 authorid VARCHAR(20),
56 publishdate TIMESTAMP #出版日期
57 )
58
59 #案例:创建表author
60 CREATE TABLE author(
61 id int,
62 au_name VARCHAR(20),
63 nation VARCHAR(10))
64
65 DESC author;
66
67 #2、表的修改
68 /*
69 ALTER TABLE 表名 add|drop|modify|change COLUMN 列名 【列类型 约束】;
70 */
71 #修改列名
72 ALTER TABLE book CHANGE COLUMN publishdate pubDate TIMESTAMP;
73
74 #修改列的类型或约束
75 ALTER TABLE book MODIFY COLUMN id VARCHAR(20);
76
77 #添加新列
78 ALTER TABLE author ADD COLUMN annual DOUBLE ;
79
80 #删除列
81 ALTER TABLE author DROP COMMIT annual;
82
83 #修改表名
84 ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
85
86
87 #3、表的删除
88 DROP TABLE if EXISTS book_author;
89
90 SHOW TABLES;
91
92 #通用的写法:
93 DROP DATABASE if EXISTS 旧库名;
94 CREATE DATABASE 新库名;
95
96 DROP TABLE if EXISTS 旧表名;
97 CREATE TABLE 新表名;
98
99 #4、表的复制
100 #1、仅仅复制表的结构
101 CREATE TABLE copy LIKE author;
102
103 #2、复制表的结构+数据
104 CREATE TABLE copy2
105 SELECT * FROM author;
106
107 #只复制部分数据
108 CREATE TABLE copy3
109 SELECT id,au_name
110 FROM AUTHOR
111 WHERE nation='中国';
112
113 #仅仅复制某些字段
114
115 CREATE TABLE copy4
116 SELECT id,au_name
117 FROM author
118 where 0;