最近用到的sql命令比较多,所以把几个比较实用的sql给收集了一下。感觉很不错,拿出来分享一下。
查询表的创建语句
看一个表的创建语句,备份表结构的时候可以用到。可在linux中执行这个命令,并将结果存入文本中。
show create table t_transrequest;
查询表结构(含注释)
查询表结构大家一般都会用到“desp(cription) 表名
”,但是这个命令看不到表字段的注释,用下面的方法可以做到:
select column_name Field,column_type Type,IS_NULLABLE `Null`,column_key `Key`,column_default `Default`,Extra,column_comment `Comment` from information_schema.columns where table_schema ='数据库名' and table_name = '表名';
查询执行计划
查询执行计划这个关键字很重要,当优化数据库命令的时候,会用到它。可以查看sql执行会不会用到索引,会怎样执行等。
explain sql语句
导出整个数据库
用sql命令导出库结构:
dump -u 用户名 -p –default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) dump -u wcnc -p smgp_apps_wcnc > wcnc.sql
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
导出一个数据库结构
dump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
备份表数据
备份数据,一般采用导出表结构和数据,还有一种简便的方法就是使用下面的语句,特简单,而且不管数据多少,这条sql都会很快执行完毕,远比导出再导入要快得多。
create table table_bak as select * From table_test (where条件)