MySQL数据库 常用命令整理
目录
数据库操作命令
创建数据库
删除数据库
修改数据库
查询数据库
数据表操作命令
创建数据表
删除数据表
修改数据表
查询数据表
表的约束
非空约束
唯一约束
主键约束
默认值约束
表的其他设置
自动增长AUTO_INCREMENT
注释comment
表的数据维护
插入数据
删除数据
修改数据
查询数据
更新ing...
数据库操作命令
创建数据库
-创建一个数据库test,字符集为utf8mb4
create database test default character set utf8mb4;
-如果数据库test不存在,则新建
create database if not exists test;
-选择操作数据库test
use test;
删除数据库
-删除数据库test
drop database test;
-如果数据库test存在,则删除
drop database if exists test;
修改数据库
-使用ALTER DATABASE语句对数据库特征进行修改
-将数据库test的字符集修改为gbk
alter database test default character set gbk;
查询数据库
-查询所有的数据库
show databases;
-查看当前选择的数据库
select database();
-查看数据库test创建语句
show create database test;
-查看数据库中所有的表
show tables;
数据表操作命令
创建数据表
-部分数据类型:
数据类型 | 含义 |
char | 固定长度的字符串 |
varchar | 可变长度的字符串 |
enum | 枚举 |
set | 集合 |
DATE | 日期,YYYY-MM-DD |
TIME | 时间,HH:MM:SS |
TIMESTAMP | 时间戳 |
BLOB | 存储二进制数据,处理图片、音频、视频等 |
-创建一个数据表user
create table user(
uid int auto_increment comment '用户编号' primary key,
uname varchar(20) not null comment '姓名',
gender enum("男","女") comment '性别',
studyDate datetime default CURRENT_TIMESTAMP comment '入学日期',
photo BLOB comment '照片'
);
-复制user表的结构来创建新表ssuser
create table ssuser like user;
-复制user表的结构和数据来创建新表suser
create table suser select * from user;
删除数据表
-删除数据表user
drop table user;
-如果数据表user存在,则删除
drop table if exists user;
修改数据表
-使用ALTER TABLE语句对数据表结构进行修改
-将数据表user的名称修改为student
alter table user rename to student;
-将数据表user的字符集修改为gbk
alter table user charset=gbk;
-修改数据表中的字段名
-将数据表user中的uid改为s_id
alter table user rename column uid to s_id;
-修改数据表中字段的数据类型
-将数据表user中uname的数据类型修改为char(16)
alter table user modify uname char(16);
-修改数据表中字段的排列位置
-使用change方式,将数据表user中uname的位置修改为数据表的第一个字段, 使用change时需要重复列名
alter table user change uname uname varchar(20) not null comment ’姓名’ first;
-使用modify方式,将数据表user中uid的位置修改到uname后面
alter table user modify uid int after uname;
-数据表添加字段
-在数据表user的第一列添加一个INT类型的字段id
alter table user add id int first;
-数据表删除字段
-删除数据表user的id字段
alter table user drop id;
查询数据表
-查询当前数据库中的所有数据表
show tables;
-查看数据表user创建语句
show create table user;
-查看数据表结构信息
desc user;
表的约束
非空约束
-创建数据表时设置
create table test(id int NOT NULL);
-修改数据表时使用modify添加
alter table test modify id int NOT NULL;
-修改数据表时使用change删除
alter table test change column id id int;
唯一约束
-创建数据表时设置
-将id设置为唯一约束,deptname和ename设置为联合唯一约束
create table test(
id int UNIQUE,
deptname varchar(16),
ename varchar(20),
UNIQUE(deptname,ename)
);
-修改数据表时使用add添加
alter table test add UNIQUE(id);
-修改数据表时使用drop删除
alter table test drop index id;
主键约束
-创建数据表时设置
create table test(id int PRIMARY KEY);
-修改数据表时使用add添加
alter table test add PRIMARY KEY(id);
-修改数据表时使用drop删除
alter table test drop PRIMARY KEY;
默认值约束
-创建数据表时设置
-将id的默认值设置为1
create table test(id int DEFAULT 1);
-修改数据表时使用modify添加
alter table test modify id int DEFAULT 1;
-修改数据表时使用change删除
alter table test change id id int;
表的其他设置
自动增长AUTO_INCREMENT
一张数据表中只能有一个字段设置AUTO_INCREMENT,且该字段必须为键
删除记录时,自动增长值不会减少或填补空缺
create table test(id int PRIMARY KEY AUTO_INCREMENT);
注释comment
使用comment属性为字段添加注释
create table test(uid int comment '编号');
表的数据维护
插入数据
-插入单行所有字段的数据
insert into user values(1,"学生名1","男","2025-9-7 15:00:00");
-插入单号部分字段的数据
insert into user(uid,uname) values(2,"学生名2");
insert into user(uname,uid) values("学生名3",3);
-插入多行数据
insert into user(uname,enum) values("学生名4","女"),("学生名5","男");
-将外部文档中的数据插入数据表
注意:先检查数据库 local_infile 参数是否为 1
show global variables like"local_infile";
set global local_infile=1;
-将D盘上data.txt中的数据插入数据表user
load data local infile"d:\data.txt" into table user;
-将D盘上data.csv中的数据插入数据表user
注意:需要检查数据表编码是否为utf8mb4,.csv文件编码是否为UTF-8
load data local infile"d:\data.csv" into table user fields terminated by ',' ignore 1 rows;
fields terminated by ',' //以逗号分隔数据
ignore 1 rows; //忽略首行
删除数据
-删除数据表user中的所有数据
delete from user;
-使用where
修改数据
查询数据
-查看数据表user中的数据
select * from users;
-使用where