1、登录mysql
本地:mysql -u root -p, 回车后输入密码; 也可以p后不加空格,直接加密码。回车就登录了
远程:mysql -hxx.xx.xx.xx -u -pxxx
2、查看所有数据库:show databases;(注意:mysql 语句后面必须有结束符“;”)
3、连接数据库:use db_name;
4、查看所有数据表:show tables;
5、显示表结构:describe 表名;
6、创建库:create database <数据库名>;
7、删除库:drop database 库名;
8、创建表:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
9、删除表:drop table 表名;
10、查询表中的数据:select <字段1,字段2,...> from < 表名 > where < 表达式 >;
11、表插入数据:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];
12、删除表中数据:delete from 表名 where 表达式;
13、修改表中数据:update 表名 set 字段=新值,… where 条件;
14、增加字段:alter table 表名 add字段 类型 其他;
15、修改表名:rename table 原表名 to 新表名;
16、备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasename tablename > tablename.sql
17、恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasename tablename < tablename.sql(操作前先把原来表删除)
18、备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename > database.sql
19、恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename < database.sql
20、复制数据库:mysql\bin\mysqldump --all-databases > all-databases.sql
21、查看当前选择的数据库:select database();
22、查询mysql版本:select version();
23、显示当前时间:select now();或select current_timestamp();
24、打印年月日:SELECT DAY/MONTH/YEAR(CURRENT_DATE);
25、打印字符:SELECT "I'am danny.yao";
26、当前所有连接的详细情况:show full processlist;(没有full,只显示前100个连接)
27、看表注释,字段注释:show create table table_name; show full columns from table_name; show table status;
28、查看状态:show status like '%下面变量%'
变量名 | 作用 |
---|---|
Aborted_clients | 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 |
Aborted_connects | 尝试已经失败的MySQL服务器的连接的次数。 |
Connections | 试图连接MySQL服务器的次数。 |
Created_tmp_tables | 当执行语句时,已经被创造了的隐含临时表的数量。 |
Delayed_insert_threads | 正在使用的延迟插入处理器线程的数量。 |
Delayed_writes | 用INSERT DELAYED写入的行数。 |
Delayed_errors | 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 |
Flush_commands | 执行FLUSH命令的次数。 |
Handler_delete | 请求从一张表中删除行的次数。 |
Handler_read_first | 请求读入表中第一行的次数。 |
Handler_read_key | 请求数字基于键读行。 |
Handler_read_next | 请求读入基于一个键的一行的次数。 |
Handler_read_rnd | 请求读入基于一个固定位置的一行的次数。 |
Handler_update | 请求更新表中一行的次数。 |
Handler_write | 请求向表中插入一行的次数。 |
Key_blocks_used | 用于关键字缓存的块的数量。 |
Key_read_requests | 请求从缓存读入一个键值的次数。 |
Key_reads | 从磁盘物理读入一个键值的次数。 |
Key_write_requests | 请求将一个关键字块写入缓存次数。 |
Key_writes | 将一个键值块物理写入磁盘的次数。 |
Max_used_connections | 同时使用的连接的最大数目。 |
Not_flushed_key_blocks | 在键缓存中已经改变但是还没被清空到磁盘上的键块。 |
Not_flushed_delayed_rows | 在INSERT DELAY队列中等待写入的行的数量。 |
Open_tables | 打开表的数量。 |
Open_files | 打开文件的数量。 |
Open_streams | 打开流的数量(主要用于日志记载) |
Opened_tables | 已经打开的表的数量。 |
Questions | 发往服务器的查询的数量。 |
Slow_queries | 要花超过long_query_time时间的查询数量。 |
Threads_connected | 当前打开的连接的数量。 |
Threads_running | 不在睡眠的线程数量。 |
Uptime | 服务器工作了多少秒。 |