lyt经典版MySQL基础——DDL语言-库表的创建、修改、删除操作

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

 

lyt经典版MySQL基础——DDL语言-库表的创建、修改、删除操作

上一篇:lyt经典版MySQL基础——进阶7:子查询


下一篇:lyt经典版MySQL基础——进阶3:排序查询