前言
相信平时大家在开发时都会使用 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 << EOFmysql 语句 1;MySQL 语句 2;...EOF
最后
总结了以上比较常用的语句和命令, 但是 MySQL 还有很多东西没涉及到,
比如事务, 存储过程, 主从实现之类的, 希望大家平时去看看 MySQL 的书, 了解下的其实现原理.
这里推荐两本书大家去阅读 (可以在公众号留言领取 PDF 电子版):
高性能 MySQL(第 3 版)
高可用 MySQL_构建健壮的数据中心
来源: http://www.bubuko.com/infodetail-3073866.html