04-Mysql DDL语言-01库表的管理

在这里插入图片描述

理论:

库的管理

1、创建库

create databaseif not exists】 库名【character set 字符集名】

2、修改库

alter database 库名 charcter set 字符集名;

3、删除库

drop databaseif exists】 库名;

表的管理

1、创建表【】**✨

create tableif not exists】表名(
字段名  字段类型  【约束】,
字段名    字段类型     【约束】,
…
字段名    字段类型     【约束】
);

2、修改表
①、添加列

alter table 表名 add column 列名 类型 【first|after 字段名】

②、修改列的类型或约束

alter tables 表名 modify column 列名 新类型 【新约束】

③、修改列名

alter table 表名 change column 旧列名 新列名 类型;

④、删除列

alter table 表名 from column 列名;

⑤、修改表名

alter table 表名 renameto】 新表名;

3、删除表

drop tableif exists】 表名;

4、复制表
①、复制表的结构

create table 表名 like 旧表;

②、复制表的结构+数据

create table 表名
select 查询列表 from 旧表【where 筛选】;

案例:

数据库定义语言
库和表的管理
一、库的管理 创建、修改、删除
二、表的管理 创建、修改、删除
创建:create
修改:alter
删除:drop

一、库的管理

#1、库的创建

#语法:
creat database [if not exists]库名;

#案例:创建库Books

CREATE DATABASE IF NOT EXISTS books;

#2、库的修改

RENAME DATABASE books TO 新库名;(已经不能使用)

#更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

#3、库的删除

DROP DATABASE IF EXISTS books;

二、表的管理

#1、表的创建⭐

语法: create table 表名(
列名 列的类型【(长度) 约束】
列名 列的类型【(长度) 约束】
列名 列的类型【(长度) 约束】

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

#案例:创建表Book

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

#案例:创建表author

CREATE TABLE 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;
DESC book;

#②修改列的类型或约束

ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;

#③添加新列

ALTER TABLE author ADD COLUMN annual DOUBLE;
DESC author;

#④删除列

#--------if not exists用于库和表------------
ALTER TABLE author DROP COLUMN annual;

#⑤修改表名

ALTER TABLE author RENAME TO book_author;

#3、表的删除

DROP TABLE IF EXISTS book_author;
SHOW TABLES;
#通用的写法:
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,'金庸','中国');

#1、仅仅复制表的结构

CREATE TABLE copy LIKE author;

#2、复制表的结构+数据

CREATE TABLE  copy3 
SELECT * FROM author;
SELECT * FROM author;
SELECT * FROM copy;
SELECT * FROM copy3;

#只复制部门数据

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

#仅仅复制某些字段

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

三、库表的习题

#1、创建表dept1

NAMENULLTYPE
idINT(7)
NAMEVARCHAR(25)
USE test;
CREATE TABLE IF NOT EXISTS dept1(
    id INT(7),
    NAME VARCHAR(25)
);
DESC dept1;
DESC dept2;
SELECT * FROM dept2;

#2、将表departments中的数据插入新表dept2中

CREATE TABLE  dept2
SELECT *
FROM myemployees.departments

#3、创建表emp5

NAMENULLTYPE
idINT(7)
first_nameVARCHAR(25)
last_nameVARCHAR(25)
dept_idINT(7)
USE test;
CREATE TABLE emp5(
   id INT(7),
   first_name VARCHAR(25),
   last_name VARCHAR(25),
   dept_id INT(7)
);
DESC emp5;
SELECT * FROM emp5;

#4、将列last_name的长度增加到50

ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR(50);
DESC emp5;

#5、、根据表employees创建employees2

#--------复制表结构----------
USE test;
CREATE TABLE employess2
LIKE  myemployees.`employees`;

#6、删除表emp5

USE test;
DROP TABLE IF  EXISTS emp5;

#7、将表employees2重命名为emp5

ALTER TABLE employess2 RENAME TO emp5;

#8、在表dept和emp5中添加新列test_coulumn,并检查所作的操作

ALTER TABLE dept1 ADD COLUMN test_coulumn  INT;
ALTER TABLE emp5 ADD COLUMN test_coulumn  INT;
DESC dept1;
DESC emp5;

#9、直接删除表emp5中的列hiredate

ALTER TABLE emp5 DROP COLUMN hiredate;
DESC emp5;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值