MySQL常用命令及SQL
来源:互联网 发布:人工智能的原理与方法 编辑:程序博客网 时间:2024/06/07 04:26
1.查询支持引擎
mysql> show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine | Support | Comment | Transactions | XA | Savepoints |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO || PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO || CSV | YES | CSV storage engine | NO | NO | NO || BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO || MyISAM | YES | MyISAM storage engine | NO | NO | NO || FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL || InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES || MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+8 rows in set (0.00 sec)
2.修改表引擎
mysql>show create table xxx;
mysql>alter table xxx engine=innodb;
3.逻辑备份恢复数据库
mysqldump -uroot -p*** --default-character-set=utf8 [dbname] -R -F > dbname.sql
mysql -uroot -p*** --default-character-set=utf8 [dbname] < dbname.sql
4.SQL取整函数
mysql> select floor(1.1);+------------+| floor(1.1) |+------------+| 1 |+------------+1 row in set (0.00 sec)mysql> select ceil(1.1);+-----------+| ceil(1.1) |+-----------+| 2 |+-----------+1 row in set (0.00 sec)mysql> select round(1.4);+------------+| round(1.4) |+------------+| 1 |+------------+1 row in set (0.00 sec)mysql> select round(1.5);+------------+| round(1.5) |+------------+| 2 |+------------+1 row in set (0.00 sec)mysql>
5.查看表、字段信息
mysql> use information_schema;
Database changed
mysql> desc tables;
mysql> desc columns;
6.按顺序更新栏位
select @t:=0
update jay set x=@t:=@t+1;
7.查询数据库支持的语言集及选用的语言集(charset)
show variables like '%char%';
show charset;
8.日期转换date_format()
mysql> select DATE_FORMAT(NOW(), '%Y%m%d%H%i%s' ) date;+----------------+| date |+----------------+| 20120713092749 |+----------------+1 row in set (0.00 sec)
9.Oracle rownum替代方法
mysql> set @rownum := 0;Query OK, 0 rows affected (0.00 sec)mysql> select @rownum := ifnull(@rownum,0)+1 as level,x from rownum;+-------+------+| level | x |+-------+------+| 1 | 1 || 2 | 2 || 3 | 3 |+-------+------+3 rows in set (0.00 sec)
10.Oracle替代row_number() over (partition by)方法
mysql> create table test (id int ,dept int ,salary decimal(10,2));Query OK, 0 rows affected (0.01 sec)mysql> insert into test values -> (1,10,5500.00), -> (2,10,4500.00), -> (3,20,1900.00), -> (4,20,4800.00), -> (5,40,6500.00), -> (6,40,14500.00), -> (7,40,44500.00), -> (8,50,6500.00), -> (9,50,7500.00);Query OK, 9 rows affected (0.00 sec)Records: 9 Duplicates: 0 Warnings: 0mysql> select * from test;+------+------+----------+| id | dept | salary |+------+------+----------+| 1 | 10 | 5500.00 || 2 | 10 | 4500.00 || 3 | 20 | 1900.00 || 4 | 20 | 4800.00 || 5 | 40 | 6500.00 || 6 | 40 | 14500.00 || 7 | 40 | 44500.00 || 8 | 50 | 6500.00 || 9 | 50 | 7500.00 |+------+------+----------+9 rows in set (0.00 sec) SELECT id, dept, salary, rankFROM ( SELECT tmp.id, tmp.dept, tmp.salary ,@rownum :=@rownum + 1, IF( @dept = tmp.dept ,@rank :=@rank + 1 ,@rank := 1 )AS rank, @dept := tmp.dept FROM ( SELECT id, dept, salary FROM test ORDER BY dept ASC, salary DESC )tmp, ( SELECT @rownum := 0, @dept := NULL ,@rank := 0 )a )result;+------+------+----------+------+| id | dept | salary | rank |+------+------+----------+------+| 1 | 10 | 5500.00 | 1 || 2 | 10 | 4500.00 | 2 || 4 | 20 | 4800.00 | 1 || 3 | 20 | 1900.00 | 2 || 7 | 40 | 44500.00 | 1 || 6 | 40 | 14500.00 | 2 || 5 | 40 | 6500.00 | 3 || 9 | 50 | 7500.00 | 1 || 8 | 50 | 6500.00 | 2 |+------+------+----------+------+9 rows in set (0.00 sec)
11.查询更改字段comment
SELECT concat( 'alter table ', table_name, ' modify ', COLUMN_NAME, ' ', column_type, IF( IS_NULLABLE = 'NO', ' NOT NULL ', ' DEFAULT NULL ' ),IF( ifnull(COLUMN_default, '')= '', '', CONCAT( ' default ', '''', COLUMN_default, '''' )), extra,IF( ifnull(COLUMN_COMMENT, '')= '', '', CONCAT( ' comment ', '''', COLUMN_COMMENT, '''' )), ';' )FROM COLUMNS
11.计算QPS、TPS
QPS= Query Per Second
TPS= Transaction Per Secnd
mysql> SHOW GLOBAL STATUS LIKE 'Questions';+---------------+----------+| Variable_name | Value |+---------------+----------+| Questions | 29340533 |+---------------+----------+1 row in set (0.00 sec)mysql> SHOW GLOBAL STATUS LIKE 'Uptime';+---------------+---------+| Variable_name | Value |+---------------+---------+| Uptime | 1392479 |+---------------+---------+1 row in set (0.00 sec)mysql> SHOW GLOBAL STATUS LIKE 'Com_commit';+---------------+--------+| Variable_name | Value |+---------------+--------+| Com_commit | 687702 |+---------------+--------+1 row in set (0.00 sec)mysql> SHOW GLOBAL STATUS LIKE 'Com_rollback';+---------------+-------+| Variable_name | Value |+---------------+-------+| Com_rollback | 694 |+---------------+-------+1 row in set (0.01 sec)
mysqladmin processlist|grep -i Sleep|awk '{print $2}'|xargs -n 1 mysqladmin -uroot -p kill
do
mysqladmin kill ${id}
done
13.将字符串转换为Int order by排序
select varchar+0|varchar*1 as int;
14.Instance Summary
select table_schema,
sum(data_length+index_length)/1024/1024 as total_mb,
sum(data_length)/1024/1024 as data_mb,
sum(index_length)/1024/1024 as index_mb,
count(*) as tables
from information_schema.tables
group by table_schema
order by 2 desc;
15.Schema Summary
select table_name,engine,row_format, table_rows, avg_row_length,
(data_length+index_length)/1024/1024 as total_mb,
(data_length)/1024/1024 as data_mb,
(index_length)/1024/1024 as index_mb
from information_schema.tables
where table_schema= DATABASE()
order by 6 desc;
16.设定表空间
mysql> show variables like '%innodb_data_file%';+-----------------------+------------------------+| Variable_name | Value |+-----------------------+------------------------+| innodb_data_file_path | ibdata1:10M:autoextend |+-----------------------+------------------------+1 row in set (0.00 sec)vi /etc/my.cnf
innodb_data_file_path = ibdata1:10G;ibdata2:10G;ibdata3:10G;ibdata4:10G;ibdata5:10G:autoextend
17.innodb表独立表空间
vi /etc/my.cnf
innodb_file_per_table
18.mysqldump相关命令
mysqldump -p -R > /tmp/kin.sql -- 导出包括存储过程
mysqldump -p -R -d kin > /tmp/kin.sql --导出结构不导数据
mysqldump -p -R -t kin > /tmp/kin.sql --导出数据不导结构
mysqldump -p -R kin > /tmp/kin.sql --导出数据及结构
19.开启general log查看执行语句
set global general_log=1; --开启
set global general_log=0; --关闭
或者
vi /etc/my.cnf
log=/tmp/general.log
show variables like '%general%';
20.mysql执行SQL语句脚本
mysql -h<ip> -uroot -p -e 'sql statement'
mysql>source xxx.sql
21.SQL分组取最大值
SELECT * FROM (SELECT * FROM t2 ORDER BY gid,col2 DESC) tGROUP BY gid;
22.构造rownum
mysql> SELECT STATUS FROM ref_number;+--------+| STATUS |+--------+| 1 | | 2 | | 3 | | 5 | | 7 | +--------+5 rows in set (0.00 sec)mysql> SELECT -> @rownum1 := @rownum1 + 1 AS rn, -> ref.* -> FROM -> (SELECT @rownum1 := 0)rown, -> (SELECT STATUS FROM ref_number)ref;+------+--------+| rn | STATUS |+------+--------+| 1 | 1 | | 2 | 2 | | 3 | 3 | | 4 | 5 | | 5 | 7 | +------+--------+5 rows in set (0.00 sec)
23. timestamp
mysql> SELECT UNIX_TIMESTAMP(now());+-----------------------+| UNIX_TIMESTAMP(now()) |+-----------------------+| 1357521521 |+-----------------------+1 row in set (0.00 sec)mysql> SELECT FROM_UNIXTIME(1357521521);+---------------------------+| FROM_UNIXTIME(1357521521) |+---------------------------+| 2013-01-07 09:18:41 |+---------------------------+1 row in set (0.00 sec)
- MySQL常用命令及SQL
- MySQL导入.sql文件及常用命令
- MySql常用命令及sql 技巧 (持续更新)
- MySql常用命令及sql 技巧 (持续更新)
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- Mysql导出.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- MySQL导入.sql文件及常用命令
- Java 笔记10
- VMware手动安装RHEL5解决中文乱码问题
- Java 笔记11
- CentOS 6.2中文输入法安装,CentOS 6.0没有默认没有装语言支持(Language Support),因此很不方面。
- LA证书换证申请材料清单
- MySQL常用命令及SQL
- memcache和memcached的区别
- OpenGL 安装包所需文件
- Redhat Linux 9.0 在vmware下,不能上网的解决方法
- Java系统程序员修炼之道
- Java系统程序员修炼之道
- Skype for iPhone 来电后台唤醒原理 &2010 Apple iPhone 4.0 OS 发布会
- 对于CDHtmlDialog和JavaScript、HTML配合使用的一些技术总结
- python glob model