mysql-库和表的管理

#DDL 数据库定义语言 database definition language

库和表的管理

创建: create、修改: alter、删除: drop

一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除


#一、库的管理
#1、库的创建

语法:
create database 【if not exists】库名 【character set utf8】;

#案例:创建库Books

CREATE DATABASE [IF NOT EXISTS] books [character set utf8];


#2、库的修改

#库名的修改

语法:

RENAME DATABASE books TO 新库名;

(这个是5.1.7到5.1.23版本可以用的,但是官方不推荐,会有丢失数据的危险)

#更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;


#3、库的删除

DROP DATABASE [IF EXISTS] books;


#二、表的管理
#1.表的创建 ★

/*
语法:
create table 【if not exists】表名(
列名 列的类型【(长度) 约束】 【是否为空 not null】 【备注 comment ‘备注名’】,
列名 列的类型【(长度) 约束】,

列名 列的类型【(长度) 约束】

)

*/

CREATE TABLE cxsjb (
id INT PRIMARY KEY NOT NULL COMMENT ‘id’,
NAME VARCHAR(10) COMMENT ‘姓名’,
ctfid VARCHAR(18) COMMENT ‘身份证号码’,
gender VARCHAR(2) COMMENT ‘性别’,
birthday VARCHAR(10) COMMENT ‘生日’,
addr VARCHAR(100) COMMENT ‘家庭详细地址’,
mobile VARCHAR(11) COMMENT ‘电话’,
nation VARCHAR(2) COMMENT ‘民族’
);

#案例:创建表Book

CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#图书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME#出版日期

);

DESC book;

#案例:创建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)

)
DESC author;


#2.表的修改

/*
语法
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;

*/

#①修改列名

ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;

#②修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;

#③添加新列
ALTER TABLE author ADD COLUMN annual DOUBLE;

#④删除列

ALTER TABLE book_author DROP COLUMN annual;
#⑤修改表名

ALTER TABLE author RENAME 【TO】 book_author;

DESC book;

#3.表的删除

DROP TABLE IF EXISTS book_author;

SHOW TABLES;

#通用的写法:

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

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

#4.表的复制

INSERT INTO author VALUES
(1,‘村上春树’,‘日本’),
(2,‘莫言’,‘中国’),
(3,‘冯唐’,‘中国’),
(4,‘金庸’,‘中国’);

SELECT * FROM Author;
SELECT * FROM copy2;
#1.仅仅复制表的结构

CREATE TABLE copy LIKE author;

#2.复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM author;

#只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation=‘中国’;

#仅仅复制某些字段

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

案例讲解:

#1. 创建表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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值