关于mysql:MySQLDDL语句

47次阅读

共计 2141 个字符,预计需要花费 6 分钟才能阅读完成。

MySQL-DDL 语句

DDL 操作数据库

创立数据库

  1. 创立数据库

    CREATE DATABASE 数据库名;
  2. 判断数据是否存在,不存在则创立数据库

    CREATE DATABASE IF NOT EXISTS 数据库名;
  3. 创立数据库并指定其默认字符集

    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;

查看数据库

  1. 查看总共有哪些数据库

    SHOW DATABASES;
  2. 查看指定数据库的定义信息

    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;

应用数据库

  1. 查看正在应用的数据库

    SELECT DATABASE();
  2. 切换到、并应用指定的数据库

    USE 数据库名;

代码演示

-- 查看正在应用的数据库
select database();

-- 切换到、并应用名为 mysql 的数据库
use mysql;

面试题

  • 题目:在 MySQL 数据库软件中,有如下三个数据库:test1test2test3。登录数据库之后,输出语句: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,字段类型:日期
);

查看表

  1. 查看正在应用的数据库中所有的表

    SHOW TABLES;
  2. 查看指定表的构造

    DESC 表名;
  3. 查看指定表的创立 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;

删除表

  1. 间接删除指定名字的表。

    DROP TABLE 表名;
  2. 判断此表存在与否,如果存在则删除此表。

    DROP TABLE IF EXISTS 表名;

代码演示

-- 间接删除表 human
drop table human;

-- 如果表 student 存在,则删除表 student
drop table if exists student;

批改表构造

  1. 增加新的字段行

    ALTER TABLE 表名 ADD 字段名 字段类型;
  2. 删除字段行

    ALTER TABLE 表名 DROP 字段名;
  3. 同时批改字段名、类型

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型;
  4. 仅批改字段类型

    ALTER TABLE 表名 MODIFY 字段名 新类型;
  5. 批改表名

    RENAME TABLE 旧表名 TO 新表名;
  6. 批改表的字符集

    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;

正文完
 0