小徐带你了解DDL(数据定义语言)库和表的创建,修改,删除

DDL语言(数据定义语言)

一:库的管理

创建,修改,删除

二:表的管理

创建,修改,删除

创建:create

修改:alter

删除:drop

一:库的管理库的创建

语法:创建库Books

create	database if not exists books;

更改库的字符集

alter database books character set gbk;

删除库

drop database if exists book;

二:表的管理

表的创建

create	table	表名(
	列名	列的类型	【(长度)	约束】,
	
   列名	列的类型	【(长度)	约束】,
   
   列名	列的类型	【(长度)	约束】,
   
   ..........
   
   );

案例:创建Book表

create	table book(
	id	int,
	byName	varchar(20),
	price	double,
	authorId	int,
	publishDate		datetime
	);

表的修改

特点:
		alter		table	表名		add	|	drop		|		modify		change	column	列名	【列类型	约束】;

一:修改列名

ALTER TABLE book CHANGE COLUMN publishDate newDate TIMESTAMP;

二:修改列的类型或约束

ALTER TABLE book MODIFY COLUMN newDate datetime;

三:添加新列

ALTER TABLE book ADD COLUMN annual DOUBLE;

四:删除列

ALTER TABLE book DROP COLUMN annual;

五:修改表名

ALTER TABLE book RENAME TO book_author;

表的删除

DROP TABLE
IF
	EXISTS book_author;

通用的写法创建库

DROP DATABASE
IF
	EXISTS 旧库名;
CREATE DATABASE 新库名;

通用的写法创建表

DROP TABLE
IF
	EXISTS 旧表名;
CREATE TABLE 新表名 ();

表的复制

INSERT INTO author
VALUES
	( 1, '村上春树', '日本' ),
	( 2, '莫言', '中国' ),
	( 3, '冯唐', '中国' );

一:仅仅复制表的结构

copy 复制的新表名 book_author 原始的表

CREATE TABLE copy LIKE book_author;

复制表的结构和数据

CREATE TABLE copy2 SELECT
* 
FROM
	book_author;

只复制部分数据

CREATE TABLE copy3 SELECT
id,
au_name 
FROM
	author 
WHERE
	nation = '中国';

仅仅复制某些字段

CREATE TABLE copy4 SELECT
id,
au_name 
FROM
	author 
WHERE
	0;

练习题:

创建表dept1

CREATE TABLE dept1 (
id INT ( 7 ),
NAME VARCHAR ( 25 ));

将表departments中的数据插入到新表dept2中

CREATE TABLE dept2 SELECT
department_id,
department_name 
FROM
	myemployees.departments;

创建表emp5

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

将emp5表中的last_name的长度增加到50

ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR ( 50 );

根据表employees创建employee2

CREATE TABLE employee2 LIKE myemployees.employees;

删除表emp5

DROP TABLE
IF
	EXISTS emp5;

将表employee2重命名为emp5

ALTER TABLE employee2 RENAME TO emp5;

在表dept1和emp5中添加新列test_column

ALTER TABLE emp5 ADD COLUMN test_column INT;
ALTER TABLE dept1 ADD COLUMN test_column INT;

直接删除表emp5中的列test_column

ALTER TABLE emp5 DROP COLUMN test_column;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章