数据库定义语言
1.创建数据库
- 直接创建数据库
`create database [if not exist]`数据库名
- 指定字符集方式创建数据库
create database [if not exists] 数据库名 character set 字符集
- 指定字符集和排序规则方式创建数据库
create database [if not exists] 数据库名 character set 字符集 collate 排序规则
utf8_general_ci : 不区分大小写
utf8_bin:可以存储二进制内容,区分大小写
操作数据库的DDL
1.查看数据库
- 查看所有数据库
show database
- 查看指定数据库
show create database 数据库名
2.修改数据库
alter database 数据库名 character set 字符集 [collate 排序规则]
3.删除数据库
drop database 数据库名
4.使用数据库
- 查看正在使用的数据库
select database()
- 切换数据库
use 数据库名
操作表的DDL
表是数据库对象,由若干列(字段组成)
1.创建表
注意:表一定要创建在数据库中
create table 表名{
字段名1 数据类型
字段名2 数据类型
字段名3 数据类型
...
}
对于这些数据类型的选择,有如下使用准则:
1、如果要表示年月日,通常使用date。
2、如果要表示年月日时分秒,通常使用datetime。
3、如果要表示时分秒,通常使用time。
4、如果要表示年,通常使用year。
5、如果要表示当前系统的时间,通常使用timestamp。
timestamp和datetime
虽然timestamp类型和datetime类型一样可以表示日期时间,但两者存在差别。
1、timestamp类型存储的时间与MySQL数据库系统安装时所选的时区有关,在不同时区下查看的同一批数据将会得出不同的结果。
2、两者的取值范围不同,datetime的取值范围是1000-01-01 00:00:00到9999-12-31 23:59:59,timestamp的取值范围是1970-01-01 00:00:01.000000到2038-01-19 03:14:07.999999’。
2.查看表
- 查看所有表
show tables
- 查看表结构
desc 表名
或者
describe 表名
- 查看创建表的SQL语句
show create table 表名
- 复制表结构
create table 新表名 like 旧表名
- 修改表
- 添加新列
alter table 表名 add 列名 类型
- 修改列类型
alter table 表名 modify 列名 新的类型
- 修改列名
alter table 表名 change 旧列名 新列名 类型
- 删除列
alter table 表名 drop 列名
- 修改表名
rename table 表名 to 新表名
- 修改字符集
alter table 表名 character set 字符集
- 删除表
droptable 表名