MySQL DDL

数据库管理

  • 创建数据库
CREATE DATABASE IF NOT EXISTS books_libaray CHARACTER SET utf8;
  • 数据库修改
ALTER DATABASE books_libaray CHARACTER SET gbk;
  • 数据库删除
DROP DATABASE IF EXISTS books_libaray

表管理

样例:

DROP TABLE IF EXISTS person;

CREATE TABLE IF NOT EXISTS person(
  id BIGINT PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  age TINYINT NOT NULL,
  birthday DATETIME
)

ALTER TABLE person ADD COLUMN x INT NOT NULL;

ALTER TABLE person MODIFY x SMALLINT NOT NULL;

ALTER TABLE person CHANGE COLUMN x xx BIGINT NOT NULL;

ALTER TABLE person DROP COLUMN xx;

DESC person;
  • 查看当前数据库中的所有表:
SHOW TABLES
  • 查看表的定义
DESC 表名

表据库

CREATE TABLE IF NOT EXISTS book(
  id INT PRIMARY KEY,
  book_title VARCHAR(255),
  price DOUBLE,
  author_id INT,
  publish_date DATETIME
);

CREATE TABLE IF NOT EXISTS author(
  id INT PRIMARY KEY,
  author_name VARCHAR(128),
  nation VARCHAR(10)
);

修改表

格式:ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名 [列类型 约束]

  1. 修改列名
ALTER TABLE book CHANGE COLUMN publish_date pub_date DATETIME;
  1. 修改列的类型和约束
ALTER TABLE book MODIFY COLUMN pub_date TIMESTAMP;
  1. 增加列
ALTER TABLE author ADD COLUMN annual DOUBLE;
  1. 删除列
ALTER TABLE author DROP COLUMN annual;
  1. 修改表名
ALTER TABLE author RENAME TO book_author;

表删除

DROP TABLE IF EXISTS book_author;

表复制

  1. 只复制表结构
CREATE TABLE copy LIKE author;
  1. 复制表的数据结构和所有数据
CREATE TABLE copy2 SELECT * FROM author;
  1. 复制部分数据
CREATE TABLE copy3 SELECT id,author_name FROM author WHERE nation='CHINA';
posted @ 2020-12-10 16:35  chdaring  阅读(29)  评论(0)    收藏  举报