MySQL 数据库和表结构的操作常用命令总结
数据库基本操作
一、创建数据库
a.使用 sql 语句创建
语法:create database 数据库名;
例如:创建一个名为 test1 的数据库
-- 创建数据库 test1
create database test1 default charset utf8;
show databases;
运行结果:
b.使用图形化界面创建(Navicat)
选择连接 --> 右键选择 “New Databases” 输入数据库名,点击 ok 即可。
二、查看数据库
a.使用 sql 语句查看
语法:show databases;
b.查看已有数据库的创建信息
语法:show create database 数据库名;
-- 查看已有数据库的创建信息
show create database test1;
运行结果:
c.使用图形化界面查看创建信息
选择要查看的数据库名右键 --> “Edit Database”
三、修改数据库
a.sql 语句修改
语法:alter database 数据库名 character set 新编码;
例如:修改 test1 库的编码为 gbk
-- 修改 test1 库的编码为 gbk
alter database test1 character set gbk;
show create database test1;
运行结果:
b.使用图形化界面修改
选中库名右键 --> 选中 “Edit Database”.
四、删除数据库
注意:数据库一旦删除则数据库中的表和数据都会被一同删除
a.使用 sql 语句删除
语法:drop database 数据库名;
例如:删除 test1 库
-- 删除 test1 库
drop database test1;
show databases;
运行结果:
b.使用图形化界面删除
选中要删除的库名右键 --> 选中 “Delete Database”
表基本操作
一、基本概念
1.数据库和表的关系
每个数据库包含N张表,及表示在库中
2.表(二维表)
行和列组成:可以将复杂的数据保存在简单的表中
- 表中的每一行就是一条完整的记录
- 表中的列用于保存每条记录中特点的信息
二、创建表
a.使用 sql 语句创建
语法:
create table 表名(
字段名1 字段类型1 [完整性约束],
字段名2 字段类型2 [完整性约束],
......
字段名n 字段类型n [完整性约束]
);
注意:
1.表名不能使用关键字,例如 database、select、where
2.每组字段名,字段类型之间使用 “,” 隔开,但最后一个不需要“,”
例如创建一个学生信息表 student(id,name,gender,age)
注意:在操作表时,需要使用 use database;切换到该表所在的数据库,或者使用 “数据库名.表名” 操作表
-- 切换到数据库 test
USE test;
-- 创建表 student
CREATE TABLE student(
id INT(8) PRIMARY KEY,
name VARCHAR(20),
age INT(2),
gender VARCHAR(1)
);
-- 查看表结构
DESC student;
运行结果
b.使用图形化界面
点击选择的库名双击 选择“Tables” 右键 --> “New Table”
三、查看表
1.查看表的基本结构
语法:desc 表名;
例如:查看 student 表的结构
DESC student;
运行结果:
2.查看表的详细结构(还可以查看存储引擎和字符集)
语法:show create table 表名;
例如:查看 student 表的详细结构
SHOW CREATE TABLE student;
运行结果:
四、修改表结构
1.修改表名
语法:alter table 旧表名 rename 新表名;
例如:将 student 表名修改为 t_student;
-- 修改表名
ALTER TABLE student RENAME t_student;
-- 查看 test 库中的所有表
SHOW TABLES;
运行结果:
2.修改字段数据类型
语法:alter table 表名 modify 列名 新字段类型;
例如:将 t_student 表中 name 的数据类型修改为 name(10)
-- 修改字段数据类类型
alter table t_student modify name varchar(10);
desc t_student;
运行结果:
3.修改多个字段的数据类型
语法:
alter table 表名 modify 列名1 新字段类型1,
modify 列名2 新字段类型2,
.....
modify 列名n 新字段类型n;
例如:修改 t_student 表中 name varchar(30),gender varchar(2)
-- 修改多个字段数据类类型
alter table t_student modify name varchar(10),
modify gender varchar(2);
desc t_student;
运行结果:
4.修改字段名
语法:alter table 表名 change 旧字段名 新字段名 旧字段类型;
例如:t_student 表中 gender 修改为 sex
-- 修改字段名
alter table t_student change gender sex varchar(2);
desc t_student;
运行结果:
5.修改字段名并修改字段类型
语法:alter table 表名 change 旧字段名 新字段名 新字段类型;
例如:t_student 表中 gender 修改为 sex 数据类型 varchar(2)
-- 修改字段名并修改字段类型
alter table t_student change gender sex varchar(2);
desc t_student;
运行结果:
6.添加字段
语法:alter table 表名 add 字段名 字段类型 [完整性约束] [first |after 字段名];
例1:在 t_student 表末尾添加 score 字段
-- t_student 末尾添加 score 字段
alter table t_student add score int(3);
desc t_student;
运行结果:
例2:在 t_student 表第一个位置添加 phone 字段
-- 在 t_student 表第一个位置添加 phone 字段
alter table t_student add phone varchar(11) first;
desc t_student;
运行结果:
例3:在 t_student 表中 age 的后面添加 clazz 字段
-- 在 t_student 表中 age 的后面添加 clazz 字段
alter table t_student add clazz varchar(10) after age;
desc t_student;
运行结果:
7.删除字段
语法:alter table 表名 drop 列名;
例如:删除表 t_student 中 phone
-- 删除字段
alter table t_student drop phone;
desc t_student;
运行结果:
五、删除表
a.使用 sql 语句删除
语法:drop table 表名;
例如:首先创建 test1 表
-- 创建 test1 表
create table test1(
id int(8)
);
show tables;
运行结果:
再删除 test1 表
drop table test1;
show tables;
运行结果:
b.使用图形化界面删除
选中创建的表名右键 --> 选中 “Delete Table”