DDL语句操作数据库
- 创建数据库
CREATE DATABASE 数据库名;
- 判断,如果不存在就创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
"Query OK,1 row affected(0.00sec)"
"Query OK":表示SQL语句执行成功
"1 row affected":表示操作影响的行数
"0.00sec":表示操作影响的时间
- 查看数据库列表
SHOW DATABASES;
MySQL中数据库的类型:
1.系统数据库
- information_schema:主要存储系统中一些数据库对象信息,如用户表信息、字段信息、权限信息、字符集信息和分区信息等
- performance_schema:主要存储数据库服务器性能参数
- mysql:主要存储系统的用户权限信息
- test:MySQL数据库管理系统自动创建的测试数据库,任何用户都可以使用
- 删除数据库
DROP DATABASE 数据库名;
- 判断,如果存在则删除数据库
DROP DATABASE IF EXISTS 数据库名;
- 选择/使用数据库
USE 数据库名;
返回Database changed 代表以及选择了数据库
- 查看数据库
SELECT DATABASE();
DDL语句操作表
- 查询当前数据库的所有表
SHOW TABLES;
- 查询表结构
DESC 表名;
- 查询指定表的建表语句
SHOW CREATE TABLE 表名;
- 创建表
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段1注释],
字段3 字段3类型[COMMENT 字段1注释],
...
字段n 字段n类型[COMMENT 字段1注释]
)[COMMENT 表注释];
注意:
最后一个字段没有“,”
[...]为可选参数
- 举例: 创建用户表
create table user(
id int comment'编号',
name varchar(50) comment'姓名',
age int comment'年龄',
gender varchar(1) comment'性别'
)comment'用户表';
数据类型
M:精度 (整个数的长度) D:标度(小数点后面的长度)
例如:125.23
M=5 D=2
- 只有int类型的长度是显示长度,其他的都是存储长度
- 显示长度,就是最多能够显示的数字个数,与该类型的取值范围无关。若数据位数大于显示长度,只要不超过该类型取值范围,则以实际位数显示;反之数据位数如果小于指定宽度时以空格填充。
- FLOAT,DOUBLE 存储的都是近似值,当对数据精度要求非常高,如用来存储货币数据,可以选择DECIMAL类型。
字符串类型
日期类型
DDL语句修改表
- 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
- 修改指定字段的数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
- 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型(长度)[COMMENT 注释][约束];
- 删除字段
ALTER TABLE 表名 DROP 字段名;
- 修改表名
ALTER TABLE 表名 RENAME TO 新表命名;
- 删除表
DROP TABLE[IF EXISTS]表名;
- 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;