语法
create database [ is not exists] 库名
[character set 字符集名];
理解
is not exists 如果不存在就创建;
案例
语法:修改字符集
alter database 库名 character set 字符集名;
修改库名
rename database 旧库名 to 新库名;
# 一般都是在mysql中的data文件中找到数据库文件夹直接修改名字。
语法
drop database [if exists] 库名;
案例
概念
在数据存储上,MySQL提供了不同的字符集支持;
在数据的对比操作上,提供了不同的字符序支持;
字符集 = 定义了字符以及字符的编码
字符序 = 字符的比较规则
MySQL 支持多种字符集 与 字符序。
一个字符集至少对应一个字符序(一般为一对多);
两个不同的字符集不能有相同字符序;
每个字符集都有默认的字符序;
常见sql命令
查看支持的字符集
show character set;
use information_schema;
select * from character_sets;
显示字段有:character_set_name 、 default_collate_name、description、maxlen
查看支持的字符序
show collation
use information_schema;
select * from collations;
备注
information_schema 用于保存源数据的信息;
语法
create table [is not exists] 表名(
字段名 字段类型【长度 约束】,
字段名 字段类型【长度 约束】,
.....
字段名 字段类型【长度 约束】,
);
案例
一个字符是一个字符,一个汉字也是一个字符;
语法
要求 | sql语句 |
---|---|
添加新的列 | alter table 表名 add column 列名 列类型 [约束]; alter table 表名 add column 列名 列类型 [ first / later 字段名] ; fisrt表示新字段添加到第一列;later字段名表示添加新字段到字段名后 |
删除列 | alter table 表名 drop column 列名; |
修改列名 | alter table 表名 change column 旧列名 新列名 类型; |
修改列类型 或 约束 | alter table 表名 modify column 列名 新类型 新约束; |
修改字段默认数据 | alter table 表名 alter column 列名 set default 默认值; |
修改表名 | alter table 表名 rename [to] 新表名; |
案例
语法
drop table [if exists] 表名;
# if exists 容错需求。
案例
语法
需求 | sql语句 |
---|---|
仅仅复制表结构 | create table 新表名 like 旧表名 |
复制结构 + 全部数据 | create table 新表名 select * from 旧表 |
复制部分结构 + 部分数据 | create table 新表名 select 部分字段 from 旧表 where 筛选条件 |
仅仅复制某些字段 没有数据 | create table 新表 select 某些字段 from 旧表 where false |
备注
可以跨库复制,需要使用的是库名.表的形式。
案例
drop database [is exists] 库名;
drop table [is exists] 表名;
create database 库名;
create table 表名;