【MySQL】数据定义语言DDL

数据定义语言DDL(Data Definition Language)

对象:数据库和表

关键词:create、alter、drop、truncate(删除当前表再新建一个一模一样的表结构)

1、数据库管理

1.1 创建数据库:

# 创建数据库 如果不存在 设置字符集
CREATE DATABASE [IF NOT EXISTS] 库名 [ CHARACTER SET 字符集名];
create database [if not exists] school [character set utf8];

1.2 修改数据库:

# 数据库重命名
RENAME DATABASE 旧库名 TO 新库名;
rename database shcool to new_school;
# 修改数据库字符集
ALTER DATABASE 库名 CHARACTER SET 字符集名;
alter database school character set utf64;

1.3 删除数据库:

# 删除数据库 如果存在
drop database [if exists] school;

1.4 切换数据库:

use school;

2、表管理

2.1 创建表:

create table student(
    字段名 字段类型 [约束],
    id int(4) primary key auto_increment,
    name varchar(20),
    score int(3)
);

注意:

2.2 修改表:

1、添加列
ALTER TABLE 表名 ADD COLUMN 列名 类型 [FIRST|AFTER 字段名];
alter table student add column age varchar(20);

2、修改列的类型或约束
ALTER TABLE 表名 MODIFY COLUMN 列名 新类型 [新约束];
alter table student modify column age int;

3、修改列名
ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
alter table student change column age ages varchar(20);

4、删除列
ALTER TABLE 表名 DROP COLUMN 列名;
alter table student drop column ages;

5、修改表名
ALTER TABLE 表名 RENAME [TO] 新表名;
alter table student rename [to] teacher;

2.3 删除表:

方式一:DROP TABLE [IF EXISTS] 表名;
方式二:TRUNCATE TABLE [IF EXISTS] 表名;
drop table student;

2.4、表的复制:

1、复制表的结构
CREATE TABLE 表名 LIKE 旧表;

2、复制表的某些字段
CREATE TABLE 表名 
SELECT 字段1,字段2,... FROM 旧表 WHERE 0;

3、复制表的结构+数据
CREATE TABLE 表名 
SELECT 查询列表 FROM 旧表 WHERE 筛选条件】;

4、复制表的某些字段+数据
CREATE TABLE 表名 
SELECT 字段1,字段2,... FROM 旧表 WHERE 筛选条件】;

2.5 查看数据库里存在的表:

show tables;

2.6 查看生成表的sql语句:

show create table student;

2.7 查看表结构:

desc student;

2.8 查看表里的字段索引:

show index from student;

Related Posts

【MySQL】事务默认隔离级别
【MySQL】事务
【MySQL】数据管理语言DML
【MySQL】数据查询语言DQL
【MySQL】数据管理语言DML
© 2019 - 2022 · Home · Theme Simpleness Powered by Hugo ·