前言
相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了。
很多时候我们都是借助mysql可视化工具操作mysql,虽然说是比较方便,但是记住一些常用的命令还是有必要的。
我们来总结一下,一些平时比较常用的语句命令:
1、更改root密码
mysqladmin -uroot password 'new_password'
2、登录MySQL服务器
mysql -h120.0.0.1 -uroot -p*** -p3306
3、列出所有数据库
show databases;
4、进入某个数据库
use database_name ; (数据库名)
5、列出数据库中的表
show tables;
6、查看某个表的全部字段
show create table table_name; (还可以展示建表语句)
desc table_name;
7、查看当前用户
select user();
8、查看当前所在数据
select database();
9、创建新数据库,并指定字符集
create database db_name charset utf8;
10、创建新表
CREATE TABLE `table_name`
(
`use_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`card_id` int(11) unsigned NOT NULL,
`card_user_id` int(11) unsigned NOT NULL,
`amount` int(4) NOT NULL,
`note` text,
PRIMARY KEY (`use_id`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
11、注释语句
--说明:注释是使用两个- 并且要用空格隔开;
12、查看数据库版本
select
13、查看数据库状态
show status; -- 当前会话状态
show global status; -- 全局数据库状态
show slave statusl\G; -- 查看主从数据库状态信息
说明:结尾使用\G 可以格式化查询结果的输出
14、查询数据库参数
show variables;
15、修改数据库参数
show variables like 'max_connect%';
set global max_connect_errors = 500; (重启数据库会失效,需要再配置文件中修改)
16、查看当前数据库语句队列
show processlist;
17、创建普通用户并授权给某个数据库
grant all on db_name.* to 'username' @ 'ip_Host' identified by 'password';
18、查询数据表数据
select * from db_name limit 1; -- 查询表中1行数据的所有字段
select count(*) from db_name; -- 查询表中的行数
select * from db_name where a like '123%' or a in (1,3,4) and a != 222; -- 查询语句中使用条件查询
select a.* ,b.* from db1 as a left join db2 as b on a.id = b.id where a.id = 123; -- 左查询,以a表为准,与b表匹配查询
19、插入一行数据
insert into db_name values(1,'user');
20、更新语句
update db_name set name = 'dbuser' where id = 1;-- 切记更新语句要有where条件来限制范围
21、清空表数据
truncate table db_name;-- 慎用
22、删除表
drop table db_name;
23、情况数据库中所有表
mysql -N -s infomation_schema -e "SELECT CONCAT('TRUNCATE TABLE ', TABLE_NAME,';')" FROM TABLES WHERE TABLE_SCHEMA = 'database_name' | mysql -f database_name
24、删除数据库
drop database db_name;
25、数据库备份
mysqldump -uroot -p'password' mysql > /tmp/mysql_backup.sql -- 导出为sql语句
26、数据库恢复
mysql -uroot -p'password' mysql < /tmp/mysql_backup.sql -- 导入sql语句
27、更改用户名为user 的密码
SET PASSWORD FOR user = PASSWORD('password');
28、查看user的用户权限
SHOW GRANTS FRO user;
29、导入sql文件的sql语句
source /tmp/back.sql
30、脚本执行mysql命令
mysql -uroot -ppassword -e "show databases"
echo "show databases" | mysql -uroot -ppassword
执行大量mysql语句使用的方式
mysql -uroot -proot << EOF
mysql语句1;
mysql 语句2;
...
EOF
最后
总结了以上比较常用的语句和命令,但是mysql还有很多东西没涉及到,
比如事务,存储过程,主从实现之类的,希望大家平时去看看mysql的书,了解下的其实现原理。
这里推荐两本书大家去阅读(可以在公众号留言领取PDF电子版):
高性能MySQL(第3版)
高可用MySQL_构建健壮的数据中心
PHP+MySQL实现海量数据导入导出的一些总结
多进程PHP脚本实现海量数据转移总结
---------------------------------------------------END----------------------------------------------------
欢迎关注我的公众号
不断更新各种技术心得,免费提供各种学习资源!