您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Mysql学习笔记(014)-DDL库和表的管理

bubuko 2022/1/25 20:08:48 mysql 字数 18596 阅读 779 来源 http://www.bubuko.com/infolist-5-1.html

库和表的管理 1 #DDL 2 /* 3 数据定义语言 4 5 库和表的管理 6 7 一、库的管理 8 创建、修改、删除 9 二、表的管理 10 创建、修改、删除 11 12 创建:create 13 修改:alter 14 删除:drop 15 16 17 */ 18 19 #一、库的管理 20 ...

库和表的管理

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

 

案例讲解

#创建表dept1
NAME 	null? 	TYPE
id 		INT(7)
NAME 		VARCHAR(25)

USE test;
CREATE TABLE dept1(
	id INT(7),
	NAME VARCHAR(25)
);
#2.将表departments中的数据插入新表dept2(跨库)

CREATE TABLE dept2
SELECT department_id,department_name
FROM myemployees.`departments` 
#3.创建表emp5
NAME 	null? 	TYPE
id 		INT(7)
First_name		VARCHAR(25)
Last_name 		VARCHAR(25)
Dept_id 		INT(7)

CREATE TABLE emp5(
id 		INT(7),
first_name		VARCHAR(25),
last_name 		VARCHAR(25),
dept_id 		INT(7) 
)

#4.将列Last_name的长度增加到50
ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);

#5.根据表employees创建employees2
CREATE TABLE employees2 LIKE myemployees.`employees`;

#6.删除表emp5
DROP TABLE IF EXISTS emp5;

#7.将表employees2重命名为emp5
ALTER TABLE employees2 RENAME TO emp5;

#8.在表dept和emp5中添加新列test_column,并检查所作的操作
ALTER TABLE emp5 ADD COLUMN test_column INT;

#9.直接删除表emp5中的列dept_id
DESC emp5;
ALTER TABLE emp5 DROP COLUMN test_column;

  

小结

Mysql学习笔记(014)-DDL库和表的管理

原文:https://www.cnblogs.com/landerhu/p/12396855.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶