连接数据库:mysql -h xxxip -P xxxport -u xxx -D xxxdb -p 回车
主机 端口 数据库
查看版本
mysql --version
select version();
显示当前连接的客户端:
show processlist; 只能显示前100个
show full processlist; 显示所有的
如果当前用户是root,则可以显示所有的连接用户;如果当前用户不是root,则只能显示当前用户的连接
查看事务隔离级别:
select @@global.tx_isolation;
select @@session.tx_isolation;
select @@tx_isolation;
在MySQL 8.0.3 中,使用以下命令查看事务隔离级别
select @@transaction_isolation;
或者show variables like 'transaction_isolation';
设置事务隔离级别:
set [ session | global ] transaction isolation {read uncommitted | read committed | repeatable read | serilizable}
查看MySQL客户端的事务提交方式:select @@autocommit; // 0 非自动提交 1 自动提交
修改MySQL客户端的事务提交方式:set @@autocommit=0;
注意:这是修改当前Connection的事务提交方式。
显示所有的数据库: show databases;
切换数据库:use xxxdb;
查看当前是哪个数据库: select database();
显示当前数据库中所有的表:show tables;
查看表结构:desc xxxtable;
查看create table语句: show create table xxx\G
查看表索引:show index from xxxtable;
drop table xxxtable; 删除表
drop procedure xxx;删除存储过程
truncate xxxtable; 删除某表中的所有数据
delete from xxxtable;删除某表中所有数据
show engines; 显示引擎信息
show table status like ‘xxxtable’; 显示表的状态信息,比如使用的是哪种存储引擎
查看监控日志是否开启:show global variables like 'general_log%';
设置监控日志开关:set global general_log=on;
mysql命令行中执行ssql脚本:
mysql -h localhost -u root -p 123456 < d:\book.sql 回车即可
mysql> source d:\\book.sql
mysql> \. d:\\book.sql
【Mysql的bin目录】\mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例:
C:\MySQL\bin\mysql –uroot –p123456 -Dtest<C:\test.sql
where on
笛 ok no
corss join ok ok 执行计划一样
inner join ok ok 执行计划一样
left join no ok
right join no ok
full join no ok
created_date DATETIME NOT NULL default current_timestamp COMMENT '创建时间',
modified_date TIMESTAMP NOT NULL default current_timestamp ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
索引:
查看某个表上的索引: show index form xxxtable;
创建普通索引(非唯一索引)(索引列的值可以不唯一):
create index myOrdinaryIndex on xxxTable(xxxColumn);
alter table xxx add index yyy(zzzColumn);
一次性创建多个索引:
alter table T_LBOC_N_ROSTER add index IDX_T_LBOC_N_ROSTER_IN_DATE(IN_DATE) , add index IDX_T_LBOC_N_ROSTER_OUT_DATE(OUT_DATE);
创建唯一索引(索引列的值唯一,但允许空值;一个表可以有多个唯一索引):
create unique index myUniqueIndex on xxxTable(xxxColumn);
创建主键索引(索引列的值唯一,不允许空值;一个表只能有一个主键):
alter table xxxTable add index xxxIndex(xxxColumn,yyyColumn);
删除索引:
drop index myXxxIndex on xxxTable;
alter table xxx drop index yyy;
锁:
https://my.oschina.net/xinxingegeya/blog/215417
lock_type: RECORD(锁粒度:行级)
lock_mode: S(shared lock ,read lock, 读锁, 共享锁) X (exclusive lock, write lock, 写锁,排他锁)
一般用 trx space page record 标识一个锁
修改表
新增列
alter table tableName add column xxx INTEGER not null COMMENT "xxx";
// 将存量数据的这个字段置为0;
alter table tableName add column xxx INTEGER not null default -1 COMMENT "xxx";
// 将存量数据的这个字段置为-1;
删除列
alter table tableName drop column columnName;
// mysql 配置文件相关 my.cnf( mac系统)
在mac系统上没有这个配置文件,需要自己添加
mysql --help |grep my.cnf 这个命令可以查看mysql是按照什么顺序加载配置文件的
// 重启Mysql服务
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server restart