常用MySQL语句搜集整理

折腾 WordPress 多少要接触到 MySQL 的一些操作,比如,玛思阁之前重装 postview 插件后发现所有的 view 数据都被清空了!只好到 phpMyAdmin 后台去进行 wp_postmeta 表的部分数据恢复,其中就会用到下文【根据条件导出 mysql 的指定表】的方法,将 meta_key=views 的栏位对应的 meta_value 值全部恢复过来。所以,以下内容很基础,但是却很实用,特地搜集整理,以备不时之需。

一、终端登陸 Mysql

$mysql -u[用戶名]  -p[password]

例:账号:root,密码:123456,登陆成功的情形如下

[root@localhost ~]# mysql -uroot -p123456   
Welcome to the MySQL monitor.  Commands end with ; or \g.   
Your MySQL connection id is 1  
Server version: 5.5.34 MySQL Community Server (GPL)   
  
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.   
  
Oracle is a registered trademark of Oracle Corporation and/or its   
affiliates. Other names may be trademarks of their respective   
owners.   
  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.   
  
mysql>

二、创建用户

①、创建只能本地登陆的用户 newuser,允许在 dbname 上进行 select,insert,update,delete 操作,密码 abc.123:

mysql> grant select,insert,update,delete on dbname.* to newuser@localhost Identified by "abc.123";

②、创建允许远程登陆的用户 newuser,允许在 dbname 上进行 select,insert,update,delete 操作,密码 abc.123:

mysql> grant select,insert,update,delete on dbname.* to 'newuser'@'%' Identified by "abc.123";

最后刷新 MySQL 权限即可:

mysql> flush privileges;

三、创建,删除和最基本查询

Ps:举例数据库名为 dbname,表为 mytable

显示数据库     mysql->show databases;   
创建数据库     mysql->create database dbname;   
删除数据库  mysql->drop database dbname;   
选择数据库     mysql->use dbname   
创建表         mysql->create table mytable(name varchar(20),sex(char(1),birth date);   
删除表    mysql->drop table mytable;   
显示表的内容   mysql->show tables;   
显示表的结构   mysql->describe mytable;

四、更新操作

1、对列的操作:

在一个表中增加一条字段 mysql->alter table yourtable add  name varchar(20)not null;   
删除一个字段  mysql->alter table yourtable drop name ;

2、对行的操作:

插入一条记录  mysql->insert into mytable values('summer','m','1983-08-24');   
删除一条记录  mysql->delete from mytable where name='summer';   
修改一条记录  mysql->update mytable set sex='vm' where name='summer';   
插入多条记录  mysql->insert into mytable  select * from yourtable;  
根据条件插入  mysql->insert into mytable  select * from yourtable where `key`='value';

五、简单查询:

1.在查询结果中显示列名

a.用as关键字:select name as '姓名'   from students order by age   
b.直接表示:select name '姓名'   from students order by age

2.精确查找:

a. 用in限定范围:select * from students where native in ('湖南', '四川')   
  
b. between...and:select * from students where age between 20 and 30  
  
c. 比较测试符:(包括=,<>,<,<=,>,>=)select * from students where name = '李山'   
  
d. like:select * from students where name  like  '李%' (注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:'% 李%';若是第二个字为李,则应为'_李%'或'_李'或'_李_'。)   
  
e. []匹配检查符:select * from courses where cno like '[AC]%' (表示或的关系,与"in(...)"类似,而且"[]"可以表示范围,如:select * from courses where cno like '[A-C]%')注:关于这个字符我在mysql里用的时候mysql把它当两个普通自符处理的。   
[^]stockname like '[^F-M]%' --------- (^排除指定范围)   
  
f. count()求总数,如:select count(*)  from students (求学生总人数)   
  
g. avg(列)求平均,如:select avg(mark)  from grades where cno=’B2’   
  
h. max(列)和min(列),求最大与最小

六、其他语句整理

1. 根据条件导出 mysql 的指定表(即部分数据导出,WordPress 网站应该用得到):

mysqldump -h mysql服务器IP -u用户名 -p密码 数据库名表名 --where="筛选条件">导出文件路径;

恢复方法:先用 “use dbname” 选定数据库,然后使用 “source sql 的文件路径”命令即可恢复。

例:从 wp_blog 数据库的 wp_postmeta 表中导出 meta_key=views 的数据到 /home/xyx/Temp.sql 这个文件中

mysqldump -uroot -p123456 wp_blog wp_postmeta --where="meta_key=views" > /home/xyx/Temp.sql

如果是在终端可如下恢复:

mysql> use mydb   
Reading table information for completion of table and column names   
You can turn off this feature to get a quicker startup with -A   
  
Database changed   
mysql> source /home/xyx/Temp.sql   
Query OK, 30 rows affected (0.00 sec)

当然,也可以进入 phpMyAdmin 中,选定指定表格导入 Temp.sql 即可。

本文将持续更新,收集更多的实用 Mysql 命令。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Mysql锁机制分析【面试+工作】

数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问访问变得有序所设计的一种规则;对于任何一种数据库来说都需要有相应的锁定机制,My...

1362
来自专栏漏斗社区

工具| 诸神之眼nmap定制化之NSE进阶

上一期斗哥跟大家介绍了Nmap中NSE脚本和常见的NSE的API,本期将为大家介绍Nmap的库文件以及如何利用Nmap的自身库将nmap的扫描结果保存在数据中。...

3527
来自专栏性能与架构

Mysql体系结构

客户端连接器 mysql为外部程序提供的客户端connector,例如 PHP JAVA .NET RUBY 连接管理 管理客户端连接的相关操作,例如 ...

4847
来自专栏法海无边

Spring-data-jpa 让数据访问更简单、更优雅

JPA不属于ORM框架,只是一套持久化API使用规范,能够更加灵活方便的管理数据库操作。从一定意义上来讲,吸取了Hibernate和Mybatis各自的优缺点,...

1986
来自专栏北京马哥教育

初识mysql:基本原理和使用

一、 数据库的出现 1. 数据库是什么: 数据库简单来说,就是存储数据的地方(废话),对于用户认证这个过程来说,当用户登录服务器时, 系统需要把用户的输入的...

4225
来自专栏程序员与猫

Elasticsearch 的一些关键概念

我更喜欢把 Elasticsearch 作为一种 nosql 去理解,它的一些开发概念和 MongoDB 以及 Redis 没有太大的区别,不过了解 Elast...

21110
来自专栏程序小工

windows7使用Sphinx+PHP+MySQL详细介绍

由于业务需要,需要做类似淘宝商城商品检索的功能,对于数据量很大的情况,MySQL 查询的效率损耗很大,需要使用专门的索引引擎进行搜索查询,实现功能,对于和 PH...

4941
来自专栏IT 指南者专栏

【SSH框架】之Hibernate系列(一)

微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、Hibernate框架概述 (1)、什么是Hiber...

2778
来自专栏Java架构师历程

mysql 谈谈innodb存储引擎

5.7版本引入了模式自动转换的功能,但该语法依然保留了。 另外一个有趣的点是,在5.7版本中,你可以通过设置session_track_transactio...

4222
来自专栏抠抠空间

MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁

浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义。同真实的表...

4217

扫码关注云+社区

领取腾讯云代金券