三个表连接查询
select 列名,列名,列名 from 表名,表名,表名 where 表名.列名=表名.列名 and 表名.列名=表名.列名 //order by wenjian.wenjian_id DESC;
select 列名,列名,列名 from 表名join 表名 on 表名.列名=表名.列名 join 表名 on 表名.列名=表名.列名;
字符“^”匹配特定字符
select * from 表名 where 列名 REGEXP '^a' 从表中查出列名字段中以a开头的记录
字符'$'匹配以特定字符或者字符串结尾的文本
select * from 表名 where 列名 REGEXP 'y$' (like '%x') 从表中查出列名字段中以y结尾的记录
字符'.'匹配任意一个字符
select * from 表名 where 列名 REGEXP 'a.g' 从表中查出列名字段中含'a'与'g'且两个字母之间只有一个字母的记录
星号'*'匹配前面的字符任意多次,包括0次。加号'+'匹配前面的字符至少一次。
星号'*'可以匹配任意多个字符
select * from 表名 where 列名 REGEXP '^ba*' 从表中查出列名字段以'b'开头,且'b'后出现字母'a'的记录
select * from 表名 where 列名 REGEXP '^ba+' 从表中查出列名字段以'b开头',且'b后面出现字母'a'至少一次的记录
匹配指定字符串
select * from 表名 where 列名 REGEXP 'on' 从表中查出列名字段中包含字符串'on'的记录
select * from 表名 where 列名 REGEXP 'on|ap' 从表中查出列名字段中包含字符串'on'或'ap'的记录
匹配指定字符串中的一个
select * from 表名 where 列名 REGEXP '[ot]' 从表中查出列名字段中包含字符串'o'或't'的记录
select * from 表名 where 列名 REGEXP '[456]' 从表中查出列名字段中包含字符串4,5或6的记录
“[^字符集合]”匹配不在指定集合中的任何字符
select * from 表名 where 列名 REGEXP '[^a-e1-2]' 从表中查出列名字段中包含字母a~e和数字1~2以外的记录
select * from 表名 where 列名 REGEXP 'x{2,}' 从表中查出列名字段值出现字母'x'至少2次的记录
select * from 表名 where 列名 REGEXP 'ba{1,3}' 从表中查出列名字段值出现字符串'ba'至少1次,最多3次的记录
win+r 输入cmd 进入系统
mysql -u 用户名 -p 回车 输入密码 回车进入MySQL
exit 退出MySQL
主机名可以使用%通配
查询用户 USE mysql; SELECT * FROM user;
用户管理
创建用户 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码 ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
删除用户 DROP USER '用户名'@'主机名';
ALL,ALL PRIVILEGES 所有权限
SELECT 查询数据
INSERT 插入数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除数据库/表/视图
CREATE 创建数据库/表
权限控制
多个权限之间,使用逗号分隔 授权时,数据库名和表名可以使用*进行通配,代表所以
查询权限 SHOW GRANTS FOR '用户名'@'主机名';
授予权限 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';