5.1 库的管理
5.1.1 数据库的创建
语法:
CREATE DATABASE 库名;
实例:
CREATE DATABASE IF NOT EXISTS books;
5.1.2 更改数据库
实例:修改数据库的字符集
ALTER DATABASE books CHARACTER set gbk;
5.1.3 库的删除
DROP DATABASE IF EXISTS books;
删除库对于生产环境来说风险很大,所以极少使用
5.2 表的管理
5.2.1 表的创建
语法:
CREATE TABLE IF NOT EXISTS 表名(列名1 列的类型【(长度) 约束】列名2 列的类型【(长度) 约束】列名3 列的类型【(长度) 约束】……列名n 列的类型【(长度) 约束】);
实例1:创建图书信息表
CREATE TABLE book(id INT, #书的编号bName VARCHAR(20),# 图书名price DOUBLE,# 价格authod_id INT,#作者编号publishDate DATETIME#出版日期)
实例2:创建作者表
CREATE TABLE author(id INT,au_name VARCHAR(20),nation VARCHAR(10))
5.2.2 表的修改
语法:
ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名 【新列名 列类型 约束】
实例1:修改列名
ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;
实例2:修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
实例3:添加新列
ALTER TABLE author ADD COLUMN annual DOUBLE;
实例4:删除列
ALTER TABLE author DROP COLUMN annual;
实例5:修改表名
ALTER TABLE author RENAME TO book_author;
总结:
## 对列修改的总结ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名 【新列名 列类型 约束】## 列相关操作ALTER TABLE author 操作列的关键字 COLUMN 列名## 如果是修改列的名字 需要提供新的列名和数据类型ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;## 如果只是修改列的类型,就只要把关键字换成modify,加上新的数据类型就可以了ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;## 如果是添加列,就将关键字修改为 add,然后加上类型就可以了ALTER TABLE author ADD COLUMN annual DOUBLE;## 如果是删除表,修改关键字为 drop ,数据类型也不需要ALTER TABLE author DROP COLUMN annual;## 如果是修改表名 ,把关键字 换成 RENAME TO 并且不需要 CONLUMN 关键字ALTER TABLE author RENAME TO book_author;
5.2.3 表的删除
语法:
DROP TABLE IF EXISTS book_author;
建库建表的通用写法:
DROP DATABASE IF EXISTS 库名CREATE DATABASE 库名;DROP TABLE IF EXISTS 表名CREATE TABLE 表名;
5.2.4 表的复制
实例1:仅仅复制表的结构
CREATE TABLE girl LIKE beauty;
实例2:复制表的结构和数据
CREATE TABLE girl2 SELECT * FROM beauty;
实例3:只复制部分数据
CREATE TABLE girl3SELECT `name` from beauty;
