操作数据库:CRUD
C(Create):创建
创建数据库
CHARACTER SET 数据库名称;
创建数据库,判断不存在,再创建
CREATE DATABASE IF NOT EXISTS 数据库名称;
创建数据库,并指定字符集
CREATE DATABASE 数据库名称 CHARACTER SET 字符集名;
例
-- 创建db1数据库,判断是否存在,并指定字符集为gbk CREATE DATABASE IF NOT EXISTS db1 CHARACTER SET gbk;
R(Retrieve):查询
查询所有数据库的名称
SHOW DATABASE;
查询某个数据库的字符集:查询某个数据库的创建语句
SHOW CREATE DATABASE 数据库名称;
U(Update):修改
修改数据库的字符集
ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
D(Delete):删除
删除数据库
DROP DATABASE 数据库名称;
判断数据库存在,存在再删除
DROP DATABASE IF EXIST 数据库名称;
使用数据库
查询当前正在使用的数据库名称
SELECT DATABASE();
使用数据库
USE 数据库名称;
操作表:CRUD
C(Create):创建
语法
CREATE TABLE 表名( 列名1 数据类型1, 列名2 数据类型2, ... 列名n 数据类型n );
复制表
CREATE TABLE 表名 LIKE 被复制的表名;
常用数据类型
int
:整数类型age int
double
:小数类型score double(5,2)
date
:日期,只包含年月日,yyyy-MM-dddatetime
:日期,包含年月日时分秒,yyyy-MM-dd HH:mm:sstimestamp
:时间戳类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss- 如果不对该字段赋值或赋值为null,则默认使用当前系统时间自动赋值
varchar
:字符串name varchar(20) #姓名最大20个字符串
例
CREATE TABLE student( id int, name varchar(32), age int, score double(4,1), birthday date, inert_time timestamp );
R(Retrieve):查询
查询某个数据库中所有表的名称
SHOW TABLES;
查询表结构
DESC 表名;
U(Update):修改
修改表名
ALTER TABLE 表名 RENAME TO 新的表名;
修改表的字符集
ALTER TABLE 表名 CHARACTER SET 字符集名称;
添加一列
ALTER TABLE 表名 ADD 列名 数据类型;
修改列名称、类型
ALTER TABLE 表名 CHANGE 列名 新列名 新的数据类型;
ALTER TABLE 表名 MODIFY 列名 新数据类型;
删除列
ALTER TABLE 表名 DROP 列名;
D(Delete):删除
DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;