一、数据库的用户管理操作
1、启动MySQL服务器
以管理员身份运行,否则权限不够会拒绝访问--网络命令启动MySQL 80服务
语句:net start MySQL80
2、关闭MySQL服务器
语句:net stop MySQL80 -网络命令关闭MySQL 80服务
3、连接MySQL服务器
注意:连接服务器这里语句结尾加上分号报错,因为连接是开始而不是结束,分号是结束的意思,所以会显示报错
不加-h本地服务器,不加-P端口,不加数据库名称语句:MySQL -uroot -p010926
指定用户-u,指定密码-p,指定服务器-h,(系统默认3306)指定端口-P,指定数据库名称-语句:MySQL -uroot -p010926 -hlocalhost -P3306 nanning
查看当前登录的用户
语句:select user();
查看存在的所有的用户
语句:select user,host from mysql.user;
删除用户
语句:drop user 'baoyun'@'localhost';
查看当前使用的库
语句:select database();
查看所有的库
语句:show databases;
4、断开MySQL服务器
语句1:exit
语句2:quit
5、图形化管理工具
1、MySQL workbench工作台
2、navicat---建议使用这个,界面美观,效率高
二、数据库的库操作
内容:表、视图、函数、查询、备份
1、创建数据库
注意:不支持一条语句创建多个数据库
不插入字符集和不插入排序规则创建库的语句:create database nanning;
插入字符集和不插入排序规则创建库的语句:create database naning
character set utf8mb4 -字符集(character set)
collate utf8mb4_unicode_ci; -核对(collate )
字符集 (
utf8mb4)
:支持插入多种语言,支持完整的 Unicode (统一的字符编码标准,在不同系统、平台、应用之间提供一致的字符编码和显示,避免乱码问题。)字符,包括表情符号和其他特殊字符。它比早期的utf8
更加全面,适用于多种语言和字符集的应用,因此在大多数情况下是最兼容的选择。有很多种字符集
排序规则(utf8mb4_0900_ai_ci):
0900
指的是 Unicode 版本,表示使用 Unicode 9.0 的排序规则。ai
表示不区分重音(accent insensitive),即在比较字符串时,重音符号被忽略。ci
表示不区分大小写(case insensitive)。
有很多种排序规则
2、删除数据库
注意:不支持一条语句删除所有数据库
#删除单个指定的数据库(不加上判断是否存在条件):drop database shujuku;
#删除单个指定的数据库(加上判断是否存在条件):drop database if exists shujuku;
#一条语句删除多个指定数据库(加上判断是否存在条件)看版本是否支持:
drop database if exists shujuku1,shujuku2,shujuku3,shujuku4;
3、查看数据库
#显示所有的数据库:show databases;
#显示指定数据库的创建信息(详细信息):show create database nanning;
#显示当前使用的数据库:select database();
4、选择数据库
#选择数据库
use nanning;
#切换到其他数据库
use shenzhen;
#查看当前选择的数据库
select database();
5、修改数据库
#修改数据库的字符集和排序规则
alter database nanning
character set utf8mb4 #修改字符集
collate utf8b4_unicode_ci #修改排序规则,Unicode(统一字符标准),ci(不区分大小写)
6、数据库备份与恢复
#手动备份
1、转储sql文件结构和数据
备份的内容涵盖:数据表、数据表内容---其他如查询,视图等可以单独备份
#语句备份
1、逻辑备份(MySQLdump)单个数据库(管理员命令提示符备份,无须连接MySQL服务器)
备份的内容涵盖:数据表、数据表内容---其他如查询,视图等可以单独备份
语句:mysqldump -uroot -p010926 shenzhen >C:\数据库备份\shenzhenbeifen.sql
cd插入指定默认路径保存备份
语句:mysqldump -uroot -p010926 shenzhen >shenzhenbeifen.sql
2、逻辑备份(MySQLdump)多个数据库(介绍破折号)
单破折号:- 意思讲用于短选项,后面通常跟一个或多个字符组合-如-u root
双破折号:-- 意思讲用于长选项,后面通常跟完整的单词或短语--如:--databases
语句:mysqldump -uroot -p010926 --database pubei dacheng >C:\数据库备份\pubei_dacheng.sql
3、逻辑备份(mysqldump)全部数据库
语句:mysqldump -uroot -p010926 --all-databases >C:\数据库备份\quanbushujuku2.sql
4、逻辑备份(mysqldump)单个表
语句:mysqldump -uroot -p010926 pubei daba >C:\数据库备份\dababeifen.sql
5、逻辑备份(mysqldump)多个表
语句:mysqldump -uroot -p010926 pubei pingtang daba >C:\数据库备份\pingtang_daba.sql
6、备份完整的数据库内容
mysqldump逻辑备份时,包含内容:表结构、表数据、视图、
存储过程和函数(routines)、触发器(triggers)
语句:mysqldump -uroot -p010926 --routines --triggers shenzhen >C:\数据库备份\shenzhen.sql
#手动恢复
1、navicat图形化管理工具
navicat图形化管理工具手动恢复---图中是恢复一整个库(sehnzhenbeifen)
可以恢复的备份内容有:单个库,单个表,多个表,多个库无法手动恢复
#语句恢复
1、>输入重定向MySQL语句
>输入重定向:指向谁就是给谁输入内容,尾部是内容,箭头是内容存放位置
语句:mysql -uroot -p010926 dacheng <C:\数据库备份\pubei.sql
7、数据库的权限管理
一、用户管理(占位符、通配符、分隔符)
1、创建用户
用户的连接主机:主机名(localhost)、网络的IP地址(192.168.0.199)、通配符(%)
语句:create user 'baoyun'@'localhost' identified by '010926';
2、查询所有的用户
语句:select user,host from mysql.user;
3、删除用户
语句:drop user 'baoyun'@'localhost';
4、修改用户密码
语句:alter user 'baoyun'@'lcalhost' identified by '888888';
二、权限管理
1、root用户全部权限和选择权、授予给普通用户
语句:grant all privileges on *.* to 'baoyun'@'localhost' with grant option;
2、授予用户全部权限、所有库和表、没有授予选择权
语句:grant all privileges on *.* to 'baoyun'@'localhost';
3、授予用户全部权限、单个库和所有表、和选择权
语句:grant all privileges on dacheng.* to 'baoyun2'@'localhost' with grant option;
4、授予用户全部权限、单个库、单个表、和选择权
语句:grant all privileges on shenzhen.name to 'baoyun2'@'localhost' with grant option;
5、授予用户select权限、单个库、单个表、和选择权
语句:grant select on shenzhen.name2 to 'baoyun2'@'localhost' with grant option;
6、撤销用户权限
语句:revoke all privileges on shenzhen.name2 to 'baoyun2'@'localhost';
7、显示用户权限
语句:show grants for 'baoyun'@'localhost';
8、以下是MySQL中权限类型的详细分类,以小写字母格式提供:
all privileges:全部权限即可包含下面全部权限
1. 数据操作权限
这些权限涉及对数据的操作,主要包括:
select:查询数据。
insert:插入新数据。
update:更新现有数据。
delete:删除数据。2. 数据库和表管理权限
这些权限涉及数据库和表的管理,主要包括:
create:创建新的数据库或表。
drop:删除数据库或表。
alter:修改数据库或表的结构(例如添加或删除列)。
index:创建和删除索引。3. 特殊权限
这些权限用于特定操作和管理,主要包括:
grant option:允许用户将其权限授予其他用户。
reload:允许重新加载权限和日志文件。
shutdown:允许关闭mysql服务器。
super:执行管理操作,如终止线程或设置全局变量。
file:允许用户读写文件系统上的文件。4. 存储过程和触发器权限
execute:执行存储过程。
trigger:创建和删除触发器。5. 访问控制权限
show view:查看视图结构。
create view:创建视图。
三、数据库的表操作
1、创建表
关键字不能作为列名使用,除非使用反引号标识-`else`
create table biao1(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else` text null comment'其他备注'
);
2、删除表
1、删除单个表
语句:drop table biao1;
2、删除多个表
语句:drop table biao2,biao3;
3、删除全部的表
直接删除这个库语句:drop database nanning;
3、修改表
1、修改列的数据类型
语句:alter table biao1 modify name text;
2、修改多个列的数据类型
语句:alter table biao1 modify name varchasr(6) modify else varcahr(100);
3、重命名列(更改列名)
语句:alter table biao1 change id id_id int(10);
4、添加单个新列
语句:alter table biao1 add phone int(20) null after address;
5、添加多个新的列
语句:alter table biao1
add time datetime null comment'日期时间',
add `else` text null comment'其他备注',
add phone int(100) null comment'电话号码';
6、删除单个列
语句:alter table biao1 drop column phone;
7、删除多个列
语句:alter table biao1 drop column time drop column `else`;
4、查看表的结构
MySQL表状态status包含的内容(详细)-CSDN博客
1、显示创建表的语句
语句:show create table biao1;
2、描述表的结构
语句:desc biao1;
3、显示单个表的状态
语句:show table status like 'biao1';
4、显示多个表的状态
语句:show table status where name in('biao1','biao2');
5、显示全部表的状态
语句:show table status;
5、查看表的数据
1、查看表的全部列
语句:select * from biao1;
2、查看表的特定列
语句:select id,name,sex from biao1;
6、创建索引
作用:提高查询效率,创建主键、外键、唯一键的时候会自动生成一个索引
普通索引是手动语句创建(复合索引就是多个列设置为索引)
mysql表结构的完整描述(详细教程)-CSDN博客包含索引教程
一、创建普通和复合索引
1、在创建表的时候写入
语句:
create table biao2(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else`text null comment'其他备注',
index index_name (name), #定义一个单列索引
index index_sex_address (sex,address) #定义一个复合索引
);
#显示所有索引
show index from biao2;
2、在已存在的表添加
1、alter table 设置(add添加)添加索引
语句:alter table biao2 add index index_salary (salary);
2、create index 设置(on在)创建索引
语句:create index index_time on biao2 (time);
二、显示创建的索引
显示创建所有索引
语句:show index from biao2;
7、删除索引
删除索引
1、drop直接删除索引
语句:drop index index_time on biao2;
2、alter table修改表结构语法删除索引
语句:alter table biao2 drop index index_salary;
8、约束管理
使用教程和知识介绍
一、植入约束的方法
1、创建表的时候给定(主键约束)
语句:
create table biao3(
id int(6) not null primary key auto_increment comment'序号',
name varchar(6) null comment'姓名',
sex enum('男','女') null comment'性别',
salary decimal(12,2) null comment'工资',
address varchar(100) null comment'工作地址',
time datetime null comment'日期时间',
`else`text null comment'其他备注',
index index_name (name), #定义一个单列索引
index index_sex_address (sex,address) #定义一个复合索引
);
2、已存在的表修改列的属性并添加default约束
语句:alter table biao3 modify sex enum('男','女') default'女 ';
3、已存在的表修改列的属性并添加not null约束
语句:alter table biao3 modify salary dicimal(12,2) not null;
3、删除约束
1、删除add和创建表时添加的约束
主键有约束的先移除约束(自增auto_incrment)
修改列的属性语句:alter table biao3 modify id int not null;(使用not null因为主键不能为空)
删除主键约束语句:alter table biao3 drop primary key;
2、删除已存在对象的属性约束
语句:alter table biao3 modify column sex enum('男','女') comment'性别';
4、修改约束
修改成主键约束语句:alter table biao3 add constraint constraint_id paimary key(id);
5、查看约束
1、显示创建表的语句
语句:show create table biao3;
2、描述表结构
语句:show index from biao3;
6、约束的类型
1、主键约束 (Primary Key Constraint) - PRI Constraint翻译:约束
2、唯一约束 (Unique Constraint) - UQ
3、外键约束 (Foreign Key Constraint) - FK
4、检查约束 (Check Constraint) - CK前面4个的语法格式(加上约束名称constraint):
主键约束:alter table biao3 add constraint constraint_id primary key(id);
外键约束:alter table child_table 修改表结构
add constraint fk_constraint_name 添加外键并写上约束名称
foreign key (child_column) references parent_table (parent_column); 参照主表的列解释add、set添加约束
1、add: 用来 添加 新的对象(如列、约束等)。
2、set: 用来 修改 已存在的对象的属性(如默认值)。
5、默认约束 (Default Constraint) - DF
6、非空约束 (Not Null Constraint) - NN这2个的语法格式:
alter table employees --修改表的结构
modify status varchar(20) default 'active'; --修改表的属性总结:自动生成索引的约束主要包括:主键约束、外键约束、唯一键约束
9、导出和导入表数据
导出
一、手动
1、navicat图形化管理工具
转储sql文件结构和数据
二、语句
1、mysqldump逻辑备份
语句:mysqldump -uroot -p010926 nanning biao3 >C:\数据库备份\biao3.sql
导入
一、手动
1、navicat图形化管理工具
二、语句
2、mysqldump逻辑备份
语句:mysql -uroot -p010926 <C:\数据库备份\biao3.sql
10、其他操作
四、数据库的数据操作(针对表的数据操作)
一、插入数据(insert)
1、单条插入
2、多条插入
3、select插入
4、插入默认值
二、更新数据(update)
三、删除数据(delete)
四、查询数据(select)
五、数据库的其他(知识点)数据操作
六、mysql等级介绍
新建连接---创建数据库-创建数据表