MySQL之DDL数据定义语言:库、表的管理
库的管理
常用命令
#创建库
create database if not exists 库名 【 character set 字符集名】;
create database if not exists books
#查看当前所有数据库
show databases
#使用某一个库
use 库名
use employees
#修改库字符集
alter database 库名 character set 字符集名;
ALTER DATABASE books CHARACTER SET gbk;
#删库(慎用)
drop database 【if exists】 库名;
drop database if exists books
#查看某个数据库中的所有表
select table_name from information_schema.tables where table_schema='【myemployees】';
注意:
- 若是修改库名则需要关闭数据库服务后在文件夹里修改
- 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了
命名规则
-
数据库名不得超过30个字符,变量名限制为29个
-
必须只能包含 A–Z, a–z, 0–9, _共63个字符
-
字符间不能留空格
-
不能重名
-
不能有保留字、数据库系统或常用方法冲突
表的管理
一、创建表 ★
create table 【if not exists】 表名(
字段名 字段类型 【约束】,
字段名 字段类型 【约束】,
。。。
字段名 字段类型 【约束】
)
创建表
CREATE TABLE book(
id INT, #编号
bName VARCHAR(20), #图书名
price DOUBLE, #价格
authorId INT, #作者编号
publishDate DATETIME #出版日期
);
修改表
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
#1.添加列 ,first、after表示所添加列的位置
alter table 表名 add column 列名 类型 【first|after 字段名】;
#2.修改列的类型或约束
alter table 表名 modify column 列名 新类型 【新约束】;
#3.修改列名
alter table 表名 change 【column】 旧列名 新列名 类型;
#4.删除列
alter table 表名 drop column 列名;
#5.修改表名
alter table 表名 rename 【to】 新表名;
删除表
drop table【if exists】 表名;
复制表
#1.复制表的结构
create table 表名 like 旧表;
#2.复制表的结构+数据
create table 表名 #注意此处不能加结束符分号;
select 查询列表 from 旧表【where 筛选】;
#3.复制表的部分结构
create table 表名
select 列名1,列名2,...
from 原始表
where 0/0 //若想连数据也复制则为1,若只复制结构则为0
- 可以跨库复制表,表名写成
库名.表名
查看表
#1.查看表的结构
desc 表名
#2.查看表的数据:
select * from 表名