MySQL-DDL语句
DDL操作数据库
创立数据库
-
创立数据库
CREATE DATABASE 数据库名;
-
判断数据是否存在,不存在则创立数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
-
创立数据库并指定其默认字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集名;
代码演示
-- 间接创立一个名为dataOne的数据库
create database dataone;
-- 判断数据库datatwo是否存在,如果不存在,则创立一个名为dataTwo的数据库
create database if not exists datatwo;
-- 创立一个名为dataThree、默认字符集为gbk的数据库
create database datathree default character set gbk;
查看数据库
-
查看总共有哪些数据库
SHOW DATABASES;
-
查看指定数据库的定义信息
SHOW CREATE DATABASE 数据库名;
代码演示
-- 查看所有的数据库
show databases;
-- 查看名字为mysql的数据库的定义信息
show create database mysql;
批改数据库
批改数据库的默认字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集名;
代码演示
-- 批改名字为liboshuai的数据库的默认字符集为utf8
alter database liboshuai default character set utf8;
删除数据库
删除指定的数据库。
DROP DATABASE 数据库名;
代码演示
-- 删除名字为data的数据库
drop database data;
应用数据库
-
查看正在应用的数据库
SELECT DATABASE();
-
切换到、并应用指定的数据库
USE 数据库名;
代码演示
-- 查看正在应用的数据库
select database();
-- 切换到、并应用名为mysql的数据库
use mysql;
面试题
- 题目:在MySQL数据库软件中,有如下三个数据库:
test1
、test2
、test3
。登录数据库之后,输出语句:select database test2
,运行后果是什么? - 答案:这是一条谬误的语句,如果要选中名为
test2
的数据库,利用应用语句:USE test2
。
DDL操作表构造
创立表
创立一个指定名字、并蕴含指定字段的表
CREATE TABLE 表名 (
字段名1 字段类型1,
字段名2 字段类型2
);
代码演示
-- 创立一个名为student、蕴含id,name,birthday字段的表
create table student (
id int, -- 字段名:id,字段类型:整数
name varchar(20), -- 字段名:name,字段类型:可变字符串,容量为20
birthday date -- 字段名:birthday,字段类型:日期
);
查看表
-
查看正在应用的数据库中所有的表
SHOW TABLES;
-
查看指定表的构造
DESC 表名;
-
查看指定表的创立SQL语句(也能够当做是详细信息)
SHOW CREATE TABLE 表名;
代码演示
-- 查看正在应用的数据库中所有的表
show tables;
-- 查看名为dept表的构造
desc dept;
-- 查看创立student表的SQL语句
show create table student;
复制表
疾速创立一个表构造雷同的表
CREATE TABLE 新表名 LIKE 旧表名;
代码演示
-- 疾速创立一个与student表构造雷同的human表
create table human like student;
删除表
-
间接删除指定名字的表。
DROP TABLE 表名;
-
判断此表存在与否,如果存在则删除此表。
DROP TABLE IF EXISTS 表名;
代码演示
-- 间接删除表human
drop table human;
-- 如果表student存在,则删除表student
drop table if exists student;
批改表构造
-
增加新的字段行
ALTER TABLE 表名 ADD 字段名 字段类型;
-
删除字段行
ALTER TABLE 表名 DROP 字段名;
-
同时批改字段名、类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型;
-
仅批改字段类型
ALTER TABLE 表名 MODIFY 字段名 新类型;
-
批改表名
RENAME TABLE 旧表名 TO 新表名;
-
批改表的字符集
ALTER TABLE 表名 CHARACTER SET 字符集;
代码演示
-- 增加一行新的名为age,类型为int(3)的字段
alter table student add age int(3);
-- 删除字段名为birthday的这一行
alter table student drop birthday;
-- 批改名为age的字段,新字段名为remark,类型为varchar(5)
alter table student change age remark varchar(5);
-- 批改名为remark的字段,新类型为int(3)
alter table student modify remark int(3);
-- 批改名为student的表,新表名为person
rename table student to person;
-- 批改person表的字符集为gbk
alter table person character set gbk;
发表回复