mysql中DDL庫和表的管理

  1 #DDL
  2 /*
  3 數據定義語言
  4 
  5 庫和表的管理
  6 
  7 一、庫的管理
  8 創建、修改、刪除
  9 二、表的管理
 10 創建、修改、刪除
 11 
 12 創建:create
 13 修改:alter
 14 刪除:drop
 15 */
 16 
 17 #一、庫的管理
 18 #1、庫的創建
 19 /*
 20 語法:
 21 create database [if not exists]庫名;
 22 */
 23 
 24 #案例:創建庫books
 25 
 26 CREATE DATABASE IF NOT EXISTS books;
 27 
 28 #2、庫的修改
 29 RENAME DATABASE books TO 新庫名;
 30 
 31 #更改庫的字符集
 32 ALTER DATABASE books CHARACTER SET gbk;
 33 
 34 #3、庫的刪除
 35 DROP DATABASE if EXISTS books;
 36 
 37 #二、表的管理
 38 #1、表的創建
 39 
 40 /*
 41 CREATE TABLE 表名(
 42         列名 列的類【(長度) 約束】,
 43         列名 列的類【(長度) 約束】,
 44         列名 列的類【(長度) 約束】,
 45         列名 列的類【(長度) 約束】,
 46 。。。
 47 */
 48 
 49 #案例:創建表Book
 50 USE myemployees;
 51 CREATE TABLE book(
 52 id INT,
 53 bname VARCHAR(20),
 54 price DOUBLE,
 55 authorid VARCHAR(20),
 56 publishdate TIMESTAMP #出版日期
 57 )
 58 
 59 #案例:創建表author
 60 CREATE TABLE author(
 61 id int,
 62 au_name VARCHAR(20),
 63 nation VARCHAR(10))
 64 
 65 DESC author;
 66 
 67 #2、表的修改
 68 /*
 69 ALTER TABLE 表名 add|drop|modify|change COLUMN 列名 【列類型 約束】;
 70 */
 71 #修改列名
 72 ALTER TABLE book CHANGE COLUMN publishdate pubDate TIMESTAMP;
 73 
 74 #修改列的類型或約束
 75 ALTER TABLE book MODIFY COLUMN id VARCHAR(20);
 76 
 77 #添加新列
 78 ALTER TABLE author ADD COLUMN annual DOUBLE ;
 79 
 80 #刪除列
 81 ALTER TABLE author DROP COMMIT annual;
 82 
 83 #修改表名
 84 ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
 85 
 86 
 87 #3、表的刪除
 88 DROP TABLE if EXISTS book_author;
 89 
 90 SHOW TABLES;
 91 
 92 #通用的寫法:
 93 DROP DATABASE if EXISTS 舊庫名;
 94 CREATE DATABASE 新庫名;
 95 
 96 DROP TABLE if EXISTS 舊錶名;
 97 CREATE TABLE 新表名;
 98 
 99 #4、表的複製 
100 #1、僅僅複製表的結構
101 CREATE TABLE copy LIKE author;
102 
103 #2、複製表的結構+數據
104 CREATE TABLE copy2
105 SELECT * FROM author;
106 
107 #只複製部分數據
108 CREATE TABLE copy3
109 SELECT id,au_name
110 FROM AUTHOR
111 WHERE nation='中國';
112 
113 #僅僅複製某些欄位
114 
115 CREATE TABLE copy4
116 SELECT id,au_name
117 FROM author 
118 where 0;