创建和管理数据库
创建数据库
1 2 3 4 5 6 7 8
| CREATE DATABSE 数据库名;
CREATE DATABASE 数据库名 CHARACTER UTF-8;
CREATE DATABASE IF NOT EXISTS 数据库名; (推荐使用方式)
|
使用数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| show databases;
select database();
show tables from 数据库名;
select create database 数据库名; 或者 select create database 数据库名\G;
use 数据库名;
|
修改数据库
1 2 3 4 5 6 7 8
| alter database 数据库名 character set 字符集; # 比如: GBK,UTF-8
drop database 数据库名;
drop database if exists 数据库名;(推荐使用)
|
创建表
1 2 3 4 5
| create table [if not exists] 表名 ( 字段1, 数据类型 [约束条件] [默认值], ... );
|
查看数据表结构
MySQL支持使用DESCRIBE和DESC语句查看数据表结构,也支持SHOW CREATE TABLE 数据表语句查看数据表结构
1 2 3
| SHOW CREATE TABLE 表名; 或者 SHOW CREATE TABLE 表名\G;
|
修改表
修改表是指修改数据库中已经存在的数据表的结构
- 使用
ALTER TABLE语句可以实现
- 向已有的表中添加列
- 修改现有表中的列
- 删除现有表中的列
- 重命名现有表中的列
追加一个列
1 2 3 4
| ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 [FIRST|AFTER 字段名]
alter table my_table1 add last_name varchar(255);
|
修改一个列
1 2 3 4
| ALTER TABLE 表名 MODIYF [COLUMN] 字段名1 字段类型 [DEFAULT 默认值] [FIRST|AFTER 字段名];
alter table my_table1 modify last_name varchar(50);
|
重命名一个列
1 2 3 4
| ALTER TABLE 表名 CHANGE [COLUMN] 列名 新列名 新数据类型;
alter table my_table1 change last_name l_name varchar(50);
|
删除一个列
1 2 3 4
| ALTER TABLE 表名 DROP [COLUMN] 字段名
alter table my_table1 drop l_name;
|
重命名表
1
| RENAME TABLE 旧表名 TO 新表名;
|
1
| ALTER TABLE 旧表名 RENAME [TO] 新表名;
|
删除表
- 在MySQL中,当一张数据表
没有与其他任何数据表形成关联关系时,可以将当前数据表直接删除
- 数据和结构都被删除
- 所有正在运行的相关事务被提交
- 所有相关索引被删除
1
| DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, ...数据表n]
|
if exists 的含义: 如果当前数据库中存在相应的数据表,则删除数据表;如果当前数据库中不存在相应的数据表,则忽略删除语句,不在执行删除数据表的操作
DROP TABLE 语句不能回滚
清空表