mysql原创
# Navicat Premium 16
破解版的提示文件损坏,无法打开,移至垃圾篓
,执行下面命令,再次打开
xattr -r -d com.apple.quarantine /Applications/Navicat\ Premium\ Essentials.app
# user 用户
- 查看现有用户
select host,user,authentication_string from mysql.user;
- 创建用户
create user "data"@"%" identified with mysql_native_password by "Data2020.";
create user "passport"@"%" identified with mysql_native_password by "Passport2022.";
- 修改用户密码
ALTER USER 'test2'@'%' IDENTIFIED WITH mysql_native_password BY 'aaaaaa';
- 删除用户
drop user 'username'@'host';
- 修改用户 host
update mysql.user set host = '%' where user = 'vipnolweb';
# 数据库 database
创建数据库
CREATE DATABASE
bbs
CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';CREATE DATABASE
passport_test
CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';utf8mb4_general_ci:ci即case insensitive,不区分大小写。没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。但是,在绝大多数情况下,这些特殊字符的顺序并不需要那么精确。
utf8mb4_unicode_ci:是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。
utf8mb4_general_ci是一个遗留的 校对规则,不支持扩展,它仅能够在字符之间进行逐个比较。utf8_general_ci校对规则进行的比较速度很快,但是与使用 utf8mb4_unicode_ci的校对规则相比,比较正确性较差。
- 删除数据库
DROP DATABASE database_name;
- 删除数据库
当你进行远程连接是,会出现这样的错误:
Unable to load authentication plugin 'caching_sha2_password'.
是因为mysql8使用的是caching_sha2_password加密规则,最简单的方法是修改远程连接用户的加密规则:
mysql>ALTER USER 'guaiyouyisi'@'%' IDENTIFIED WITH mysql_native_password BY 'Guaiyouyisi.';
# mysql 的相关说明
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
数据操纵语言DML主要有三种形式:
插入:INSERT 更新:UPDATE 删除:DELETE
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:GRANT:授权
库操作: show databases; create databases 库名; use 库名; drop databases 库名。
表操作: show tables; create tables 表名 (字段 类型 属性……); 引入主键AUTO_INCREMENT PRIMARY KEY; desc 表名; show create table 表名;dorp table 表名。
- 操作表结构: alter table 表名 rename 新表名;
- 操作表结构: alter table 表名 add 列名 类型 属性,其中first代表插入到字段最前,after代表插入在某列之后;
- 操作表结构: alter table 表名 change 旧列名 新列名 数据类型 属性;
- 操作表结构: alter table 表名 drop 字段名;
# 权限类型
show grants; /查看授权情况/
show grants for 'test1'@'localhost'; /查看用户授权情况/
grant all privileges on
test
.* to 'test'@'localhost'; /授予用户在本地服务器对该数据库的全部权限/grant all privileges on
data_center
.* to 'data'@'%' with grant option; /授予用户在本地服务器对该数据库的全部权限,并且该用户能分配权限给其他用户/grant all privileges on
passport_test
.* to 'passport'@'%' with grant option;grant select on test.* to 'user1'@'localhost'; /给予查询权限/
grant insert on test.* to 'user1'@'localhost'; /添加插入权限/
grant delete on test.* to 'user1'@'localhost'; /添加删除权限/
grant update on test.* to 'user1'@'localhost'; /添加权限/
revoke all privileges on . from 'wangxiang'@'%'; /回收权限/
flush privileges; /刷新权限/