- 库和表的管理
- 库的管理:创建、修改、删除
- 标的管理:创建、修改、删除
- 创建:create
- 修改:alter
- 删除:frop
1.库的管理
-
库的创建
-
语法:create database [if not exists] 库名 [character set 字符集名];
-
案例:创建库book
-
CREATE DATABASE IF NOT EXISTS books;
- 库的修改
-
修改库名的语句【已停用】
-
RENAME DATABASE books TO new_books;
-
- 更改库的字符集
ALTER DATABASE books CHARACTER SET gbk;
- 库的删除
DROP DATABASE IF EXISTS books;
2.表的管理
-
表的创建
- 语法:
create table 【if not exists】 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
…
)
-
- 案例1:创建表 book
CREATE TABLE book (
id INT,
bname VARCHAR (20),
price DOUBLE,
authorid INT,
publishdate DATETIME
) ;
-
- 案例2:创建表author
CREATE TABLE author (
id INT,
au_name VARCHAR (20),
nation VARCHAR (10)
) ;
-
- 案例3:查看创建的表
DESC author;
-
表的修改
- 语法:alter table 表名 add | drop | modify | change column 列名 【列类型 约束】;
- 添加列:alter table 表名 add column 列名 类型 【first | after 字段名】;
- 修改列的类型或约束:alter table 表名 modify column 列名 新类型 【新约束】;
- 修改列名:alter table 表名 change column 旧列名 新列名 类型;
- 删除列:alter table 表名 drop column 列名;
- 修改表名:alter table 表名 rename 【to】 新表名;
- 修改列名
ALTER TABLE book
CHANGE COLUMN publishdate pubdate DATETIME ;
- 修改列的类型或约束
ALTER TABLE book
MODIFY COLUMN pubdate TIMESTAMP ;
- 添加新列
ALTER TABLE author
ADD COLUMN annual DOUBLE ;
- 删除列
ALTER TABLE author
DROP COLUMN annual ;
- 修改表名
ALTER TABLE author
RENAME TO book_author ;
- 表的删除
- 语法:drop table if exists 表名;
- 查看有哪些表:show tables;
- if exists 只能在库,表的创建和删除的时候使用,列的操作不能使用。
- 通用的写法:
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();
- 表的复制
- 仅仅复制表的结构
CREATE TABLE copy LIKE book_author ;
-
- 复制表的结构+数据
CREATE TABLE copy2
SELECT
*
FROM
book_author ;
-
- 只复制部分数据
CREATE TABLE copy3
SELECT
id,
au_name
FROM
book_author
WHERE nation = '中国' ;
-
- 仅仅复制某些字段(部分结构):设置where不满足,那么就没有数据
CREATE TABLE copy4
SELECT
id,
au_name
FROM
book_author
WHERE 0 ;
- 习题集
- 创建表dept1
USE myemployees;
CREATE TABLE dept1 (id INT (7), NAME VARCHAR (25)) ;
-
- 将表departments中的数据插入新表dept2中
CREATE TABLE dept2
SELECT
department_id,
department_name
FROM
departments ;
-
- 创建表emp5
CREATE TABLE emp5 (
id INT (7),
first_name VARCHAR (25),
last_name VARCHAR (25),
dept_id INT (7)
) ;
-
- 将last_name的长度修改为50
ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);
-
- 根据表employees创建employee2
CREATE TABLE employee2 LIKE employees ;
-
- 删除表emp5
DROP TABLE IF EXISTS emp5;
-
- 将表empoyees2重命名为emp5
ALTER TABLE employee2
RENAME TO emp5 ;
-
- 在表dept和emp5中添加新列test_column,并检查所做的操作
ALTER TABLE emp5
ADD COLUMN test_column INT ;
DESC emp5;
-
- 直接删除表emp5中的列dept_id
ALTER TABLE emp5
DROP COLUMN dept_id ;
原文链接:https://blog.csdn.net/qq_21579045/article/details/98111827