库和表的管理
一、库的管理
1.库的创建
语法:
create database [if not exists]库名;
如果库不存在创建这个库,如果存在就不用再创建。
例如:
CREATE DATABASE IF NOT EXISTS books ;
2.库的修改
可以更改库的字符集,将现在的utf8改为gbk:
ALTER DATABASE books CHARACTER SET gbk;
3.库的删除
DROP DATABASE IF EXISTS books;
二、表的管理
1.表的创建
语法:
create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
...
列名 列的类型【(长度) 约束】
案例:创建表Book(#后 为注释)
CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#图书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME#出版日期
);
案例:创建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
)
2.表的修改
语法:
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
①修改列名
案例:将列名publishdate改为pubDate
ALTER TABLE book
CHANGE COLUMN publishdate pubDate DATETIME ;
②修改列的类型或约束
案例:将pubDate列的类型修改为TIMESTAMP
ALTER TABLE book
MODIFY COLUMN pubdate TIMESTAMP ;
③添加新列
案例:增加一列来记录作者的年薪
ALTER TABLE author
ADD COLUMN annual DOUBLE ;
④删除列
案例:将刚添加的年薪这列删除
ALTER TABLE book_author
DROP COLUMN annual ;
⑤修改表名
案例:将表author改为book_author
ALTER TABLE author
RENAME TO book_author ;
3.表的删除
DROP TABLE IF EXISTS book_author;
4.表的复制
案例1:仅仅复制表的结构
CREATE TABLE copyyy LIKE author;
案例2:复制表的结构+数据
CREATE TABLE copyyyyy
SELECT * FROM author;
案例3:只复制部分数据
CREATE TABLE copyyyyy
SELECT id,au_name
FROM author
WHERE nation='中国';