首页 > 技术文章 > mysql中DDL库和表的管理

deyo 2020-07-12 17:23 原文

  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;

 

推荐阅读