怎样在手机上建立自己的网站,app软件系统开发,互联网内容服务商有哪些,产品网络推广方案MySQL数据库查缺补漏-基础篇
基础篇
net start mysql80[服务名]
net stop mysql80
create database pshdhx default charset utf8mb4;
为什么不使用utf8#xff1f;因为其字符占用三个字节#xff0c;有四个字节的字符#xff0c;所有需要设置为utf8mb4;
数值类型
为什么不使用utf8因为其字符占用三个字节有四个字节的字符所有需要设置为utf8mb4;
数值类型 字符串类型 日期类型 用户管理
use mysql;
create user ‘pshdhx’‘localhost’ identified by ‘123456’ alter user ‘pshdhx’‘%’ identified with mysql_native_password by ‘123456789’;
用户权限控制 查询权限
show grants for ‘pshdhx’‘localhost’;
授予权限
grant all on db1.* to ‘pshdhx’‘localhost’
撤销权限
revoke all on db1.* from ‘pshdhx’‘localhost’
MySQL函数
字符串函数 数值函数 日期函数 流程函数 MySQL约束 alter table emp add constraint fk_emp_detp_id foreign key (dept_id) references dept(id);
alter table emp drop foreign key fk_emp_dept_id;
cascade级联删除外键。
alter table emp add constraint fk_emp_detp_id foreign key (dept_id) references dept(id) on update cascasd on delete cascade;
set null设置 null
多表查询
内连接
SELECT * FROM emp ,dept where emp.emp_id dept.dept_id and dept.dept_id 2;
SELECT * FROM emp INNER JOIN dept on emp.emp_id dept.dept_id;
注意如果emp的id为空则该条记录不展示取的是交集。
外连接
左外连接
右外连接
通常右外连接可以调换顺序可以改成左外连接
自连接
注意都要起别名
联合查询
union 【合并后去重】,union all 【不去重】
子查询
单行子查询
select * from emp where (salary,managerid) (12500,1);
select * from emp where (salary,managerid) (select salary,managerid from emp where name‘pshdhx’);
多行多列子查询in
事务
操作的集合。
查看事务的提交方式
select autocommit; 为1就是自动提交。为0就是手动提交。
set autocommit0; 设置手动提交。
事务操作
开启事务start transaction 或者是begin
提交事务commit
回滚事务rollback
事务四大特性
1、原子性Atomicity事务是不可分割的最小操作单元要么全部成功要么全失败。
2、 一致性Consistence事务完成时必须使所有的数据都保持一致。
3、隔离性Isolation数据库提供的隔离机制保证事务不受外部并发操作影响的独立环境下运行。
4、持久性Durability事务一旦提交或回滚它对数据库中的数据的改变是永久的。【持久化到data目录下】
并发事务问题
1、脏读一个事务读取到另外一个事务没有提交的数据。
2、不可重复度【修改】一个事务先后读取同一条记录但是两次读取的数据不同。
3、幻读【新增】一个事务按照条件查询数据时没有对应的数据行。但是在插入数据时又发现这行数据已经存在。
事务隔离级别
脏读不可重复度幻读读未提交有有有读已提交[Oracle默认]无有有可重复度[Mysql默认]无无有串行化【加锁】无无无
select Transactoin_isolation
set [session | global] transaction isolation level {read uncommitted | read committed | repeatable read| serializable}