MySQL 常用命令 1 DDL
数据定义语言
数据库操作
查询所有数据库:
SHOW DATABASES;
查询当前数据库:
SELECT DATABASE();
创建数据库:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
删除数据库:
DROP DATABASE [ IF EXISTS ] 数据库名;
使用数据库:
USE 数据库名;
注意事项
- UTF8字符集长度为3字节,有些符号占4字节,所以推荐用utf8mb4字符集
表操作
查询当前数据库所有表:
SHOW TABLES;
查询表结构:
DESC 表名;
查询指定表的建表语句:
SHOW CREATE TABLE 表名;
创建表:
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段1注释],
字段2 字段2类型 [COMMENT 字段2注释],
字段3 字段3类型 [COMMENT 字段3注释],
...
字段n 字段n类型 [COMMENT 字段n注释]
)[ COMMENT 表注释 ];
最后一个字段后面没有逗号
添加字段:
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
例:ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';
修改数据类型:
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';
删除字段:
ALTER TABLE 表名 DROP 字段名;
修改表名:
ALTER TABLE 表名 RENAME TO 新表名
删除表:
DROP TABLE [IF EXISTS] 表名;
删除表,并重新创建该表:
TRUNCATE TABLE 表名;
相应练习:
-- DDL 语句 数据定义语言,定义数据库对象,数据库、表、字段
-- 查询所有数据库
SHOW DATABASES;
-- 查询当前数据库
SELECT DATABASE();
-- 创建数据库 如果不存在的话 指定字符集
CREATE DATABASE IF NOT EXISTS test2 DEFAULT CHARSET utf8mb4;
-- 删除数据库
DROP DATABASE test2;
-- 使用数据库
USE test2;
-- 创建表
CREATE TABLE test(
name varchar(10) COMMENT '姓名',
age int(4) COMMENT '年龄'
) COMMENT '表测试';
-- 查询当前数据库所有表
SHOW TABLES;
-- 查询表的结构
DESC test;
-- 查询指定表的建表语句
show CREATE TABLE test;
-- 添加字段
ALTER TABLE test ADD habby varchar(14) COMMENT '爱好';
-- 修改数据类型
ALTER TABLE test MODIFY habby varchar(10);
-- 修改字段名与字段类型
ALTER TABLE test CHANGE habby likes varchar(12) COMMENT '喜欢的事物';
-- 删除字段
ALTER TABLE test DROP age;
-- 修改表名
ALTER TABLE test RENAME TO test2;
-- 删除表
DROP TABLE IF EXISTS test2 ;
-- 删除表并重写创建它
TRUNCATE TABLE test2;