SELECT
select * from product A join product_details B on A.id=B.id
select * from product A left join product_details B on A.id=B.id
第一个满足条件才列出,第二个不满足条件的B字段以null代替
drop与truncate/delete
drop 删除数据库或数据表(表结构,属性和索引也会删除)
truncate /delete 删除表中数据(仅数据,不删除表)
字段类型
BOLD/TEXT 不能设置默认值
授予某个用户所用权限,包括修改权限的权限
grant all privileges on \*.\* to '${userName}'@'%' with grant option;
模糊查询一个数据库下的数据表
show tables like '%关键字%'
查看某个用户的权限,如果只是show grants就显示当前用户的权限
show grants for '${userName}'@'%'\G;
在命令最后加上\G可以按列显示结果
查看包含char的变量的当前会话值(session可以忽略)
show session variables like '%char%';
查看character_set_client的全局值(可能与当前会话值不一样)
show global variables like 'character_set_client';
查看当前会话执行insert语句的次数(global为自mysql启动以来全局执行insert语句的次数
show session status like 'com_insert'
show global status like 'com_insert'
查看当前连接的用户以及执行的MySQL(会影响性能,不要在高峰期使用)
show full processlist\G;
Binlog,Relay Log是什么?
- Binlog是开发执行的SQL语句按照提交的先后顺序子啊MySQL内部生成的日志
- Relay log是通过异步复制Master中的Binlog,并生成Slave的执行日志。也是按照SQL语句提交顺序存储
避免出现大事务,如果夹杂RPC的事务,还可能产生主从读数据不一致的情况
text无需指定默认值
decimal(m,n)m是整数位和小数位的个数,n是小数位数,默认为decimal(10,0)
主键一般用bigint