一:库的操作

  1. #DDL
  2. /*
  3. 数据定义语言
  4. 库和表的管理
  5. 一:库的管理:创建、修改、删除
  6. 二:表的管理:创建、修改、删除
  7. 创建:create
  8. 修改:alter
  9. 删除:drop
  10. */
  11. #一:库的管理
  12. #1.库的创建
  13. /*
  14. 语法:
  15. create datebase 库名;
  16. */
  17. #案例:创建库book。
  18. CREATE DATABASE IF NOT EXISTS Book;#(如果Book不存在则创建)
  19. #2.库的修改
  20. #案例:更改Book库的字符集为GBK
  21. ALTER DATABASE Book CHARACTER SET gbk;
  22. #3.库的删除
  23. #案例:删除book库
  24. DROP DATABASE IF EXISTS books;

二:表的操作

(1)表的创建

  1. #二:表的管理
  2. #1.表的创建*(create)
  3. /*
  4. create table 表名(
  5. 列名 列的类型【(长度) 约束】,
  6. 列名 列的类型【(长度) 约束】,
  7. ……
  8. 列名 列的类型【(长度) 约束】
  9. );
  10. */
  11. #案例:创建表book
  12. CREATE TABLE book(
  13. id INT,
  14. bookName VARCHAR(20),
  15. authorId INT,
  16. publishDate DATETIME
  17. );
  18. DESC book;#查看表结构

(2)表的修改

  1. #2.表的修改(alter)
  2. #1.修改列名(修改列名publishDate为pudate)
  3. /*
  4. alter table 表名 change column 旧列名 新列名 新列的类型;
  5. */
  6. ALTER TABLE book CHANGE COLUMN publishDate pudate DATETIME;
  7. #2.修改列的类型或约束
  8. /*
  9. alter table book modiey column 列名 新的类型或约束;
  10. */
  11. #3.添加新列
  12. /*
  13. alter table 表名 add column 新列 新列的类型;
  14. */
  15. #4.删除列
  16. /*
  17. alter table 表名 drop column 列名;
  18. */
  19. #5.修改表名
  20. /*
  21. alter table 表名 rename to 新表名;
  22. */

(3)表的删除

  1. #3.表的删除
  2. /*
  3. drop table 表名;
  4. drop table if exists 表名;(容错性处理)
  5. */
  6. #建库时的通用写法:
  7. /*
  8. drop database if exists 库名;
  9. create database 库名;
  10. */
  11. #建表时的通用写法:
  12. /*
  13. drop table if exists 表名;
  14. create table 表名;
  15. */

(4)表的复制

  1. #4.表的复制
  2. #(1)仅仅复制表的结构
  3. /*
  4. create table 要复制的表名 like 被复制的表名
  5. */
  6. CREATE TABLE copy LIKE book;
  7. #(2)复制表的结构和数据(全部数据复制)
  8. /*
  9. caeate table 要复制的表名
  10. select * from 被复制的表名;
  11. */
  12. #(3)复制表的结构和数据(部分数据复制)
  13. /*
  14. caeate table 要复制的表名
  15. select 字段名
  16. from 被复制的表名
  17. where 筛选条件;
  18. */
  19. #(4)复制部分表的结构
  20. /*
  21. caeate table 要复制的表名
  22. select 需要的字段名
  23. from 被复制的表名
  24. where 1=2; #设置成绝对不可能满足的条件,这样就只有字段名被复制过去,而没有数据,或者写成---where 0;
  25. */