【Mysql】Mysql基础篇DDL数据库表的操作
程序员文章站
2022-03-29 17:16:10
DDL篇...
数据库的管理
1、库的创建
方式1:CREATE DATABASE 库名
方式2:
关键词:IF NOT EXISTS(不存在则创建)CREATE DATABASE IF NOT EXISTS 库名
2、库的修改
修改字符集ALTER DATABASE 库名 CHARACTER SET utf-8
2、库的删除
关键词:IF EXISTS(存在则创建)DROP DATABASE IF EXISTS 库名
表的操作
1、表的创建
范例
-- 删除旧表
DROP TABLE IF EXISTS books
-- 创建新表
CREATE TABLE books (
id INT NOT NULL auto_increment,
name VARCHAR(20) NOT NULL COMMENT '书名',
writer VARCHAR(20) NOT NULL COMMENT '作者姓名',
price DOUBLE DEFAULT(0.0) COMMENT '价格',
created_time TIMESTAMP DEFAULT(NOW()),
PRIMARY KEY (id)
)
INSERT INTO books(name, writer, price)
SELECT '星球大战1', '布鲁斯维尔', 36.8 UNION
SELECT '活着', '余华' , 20
NOT NULL
:不为空VARCHAR(20)
:长度为20字符的字符串COMMENT
:字段描述DOUBLE
:负数DEFAULT()
:默认值PRIMARY KEY (id)
:表主键
2、表的删除
DROP TABLE IF EXISTS books
3、表的修改
ALTER TABLE 表名 【CHANGE/MODIFY/ADD/DROP】 COLUMN 列名 列类型 【约束】
- 修改列名
关键字:CHANGE COLUMN(不指定默认会覆盖旧值)
ALTER TABLE books CHANGE COLUMN update_time updated_time TIMESTAMP DEFAULT(NOW())
- 修改类型/约束
==关键词:MODIFY COLUMN ==
ALTER TABLE books MODIFY COLUMN updatedd_time TIMESTAMP
- 删除/增加列
关键词:ADD COLUMN 、DROP COLUMN
-- 增加列
ALTER TABLE books ADD COLUMN update_time TIMESTAMP DEFAULT(NOW())
-- 删除列
ALTER TABLE books DROP COLUMN update_time
- 增加索引
关键词:ADD INDEX、ADD UNIQUE INDEX
-- 单列索引
ALTER TABLE users ADD INDEX index_username(last_name)
-- 联合索引
ALTER TABLE users ADD UNIQUE INDEX union_index(last_name, first_name)
- 修改表名
关键词:RENAME TO
ALTER TABLE user RENAME TO users
表复制
-
LIKE复制
完整的复制表的结构、属性,数据需要insert
复制表:CREATE TABLE 复制表 LIKE 被复制表
插入数据:INSERT INTO 复制表 SELECT * FROM 被复制表
简写:CREATE TABLE 复制表 SELECT * FROM 被复制表
(会将表结构和数据一同复制)
PS:相关SQL
-- 查看字段描述
SHOW FULL COLUMNS FROM books;
-- 查看表的索引
SHOW INDEX FROM USERS
-- 查看所有表
SHOW TABLES
-- 查看表结构
DESC books
本文地址:https://blog.csdn.net/m0_46537958/article/details/112409934