博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库常用命令
阅读量:6459 次
发布时间:2019-06-23

本文共 3211 字,大约阅读时间需要 10 分钟。

选择数据库

use 数据库名

显示所有的数据库

show databases;    //注意是databases不是database

显示指定了数据库中所有的表

show tables

显示指定表所有的列信息

show columns from 表的名称  (等效  desc 标的名称)

显示指定表所有的列信息(快捷方式)

describe 标的名称 (ps:describe可用desc缩写代替)

显示服务器的状态信息

show status

显示创建特定数据、表的MySQL语句

show create database 数据库名称show create table 表的名称

显示授权用户安装的权限

show grants

显示服务器错误和警告信息

show errors (显示服务器错误)show warnings (显示服务器警告)

进一步查看所有可用的show命令

help show

SELECT语句常用语法

检索单个列

select prod_name from products;

检索多个列

select prod_id,prod_name,prod_price from products;

检索所有的列

select * from products;

检索不同的行

select distinct vend_id from products;

配合limit限制结果的输出(一般用于做分页处理)

select prod_name from products limit 5;    //指定返回的行数不多于5行。select prod_name from products limit 5,5;    //从第5行开始的后面5行数据。第一个数表示开始的位置,第二个数表示要检索的行数。

PS:检索出来的第一行为行0而不是行1,因此,limit1,1将检索出第二行而不是第一行。

PS:如果没有足够的行数,MySQL将只返回他能返回的那么多行数。

ORDER BY常用语句

单个列排序

select prod_name from products order by prod_name    //按字母顺序进行排序

多个列排序

select prod_id, prod_price, prod_name from products order by prod_price,    prod_name;    //首先按价格排序,然后按名称排序。

指定排序方向

select prod_id, prod_price from products order by prod_price desc;    //按          价格降序排序select prod_id, prod_price, prod_name from products order by prod_price desc, prod_name;    //价格降序排序,产品名默认升序排序select prod_price from products order by prod_price limit 1;    //结合limit找出价格最贵的物品

使用where来进行数据过滤

使用where子句

select prod_price, prod_name from products where prod_price = 2.50    //过滤出prod_price值为2.50的行。

结合order by

select prod_price, prod_name from products where prod_price = 2.50 order by prod_name    //注意order by的顺序在where自己的后面

where子句操作符

操作符 说明
= 等于
不等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
BETWEEN 在指定的两个值之间

PS:MySQL执行匹配时默认不区分大小写,所以fuses与FUSES匹配。

PS:如果将值与字符串类型比较,则需要用单引号或者双引号包含起来,与数值比较则不需要使用引号。
PS:使用BETWEEN操作符时,需要提供开始值和结束值,且两个值需要用AND关键字分割,举例如下所示:

select prod_price from products where prod_price BETWEEN 5 and 10;

空值检查

select prod_name from products where prod_price is null;

高级数据过滤

AND操作符

select prod_id,prod_price from products where vend_id = 1003 and prod_price <= 10;    //检索出vend_id为1003且价格小于10的产品

OR操作符

select prod_id,prod_price from products where vend_id = 1003 or prod_price <= 10; //检索出vend_id为1003或价格小于10的产品

ANDOR的优先级

select prod_id,prod_price from products where vend_id = 1003 or vend_id = 1002 and prod_price >= 10;    //SQL在处理OR操作符前,优先处理`AND`操作符.为了避免困扰,考虑用优先级更高的"()" select prod_id,prod_price from products where (vend_id = 1003 or vend_id = 1002) and prod_price >= 10;

IN操作符

select prod_id,prod_price from products where vend_id in (1002,1003) ;//实际上`IN`操作符完成的功能与`OR`相同。 那为什么要使用`IN`操作符呢?主要是以下几个方面。
  • 在使用长的合法选项清单时,in操作符的语法更清楚且更直观。

  • 在使用IN时,计算的次序更容易管理(因为使用的操作符更少)。

  • in操作符一般比OR操作符执行的更快。

  • IN最大的优点是可以包含其他的SELECT语句,使得能够更动态地建立WHERE子句。

NOT操作符

select prod_id,prod_price from products where vend_id not in(1002,1003)

PS:MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反。

用通配符进行过滤

百分号(%)通配符

%表示任何字符出现任意次数。示例如下:

select prod_id, prod_name from products where prod_name like 'jet%';    //根据MySQL的配置方式,搜索可以是区分大小写的。

PS: 通配符可在搜索模式中任意位置使用,并且可以使用多个通配符。

下划线(-)通配符

-只匹配单个字符而不是多个字符。

select prod_id, prod_name from products where prod_name like 'jet_';

通配符使用技巧

  • 不过过渡使用通配符,如果其他的操作符能达到相同的目的,应该使用其他的操作符。
  • 在确实需要使用通配符时,除非绝对有必要,否则不要把他们用在搜索模式的开始处。把通配符置于搜索模式的开始出,搜索起来是最慢的。
  • 仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。

转载地址:http://slizo.baihongyu.com/

你可能感兴趣的文章
【BZOJ】3495: PA2010 Riddle
查看>>
windows执行命令来运行loadrunner录制好的脚本(收藏)
查看>>
Linux automake命令
查看>>
Linux使用jstat命令查看jvm的GC情况
查看>>
CareerCup All in One 题目汇总
查看>>
xmind 使用备忘
查看>>
Atitit.java jar hell解决方案-----Djava.ext.dirs in ide envi..
查看>>
线段树之入门篇
查看>>
03.Web大前端时代之:HTML5+CSS3入门系列~H5功能元素
查看>>
js后退一直停留在当前页面或者禁止后退
查看>>
深入理解Java内存模型(一)——基础
查看>>
ABP源码分析五:ABP初始化全过程
查看>>
webpack window 添加第三方库
查看>>
用CSS border相关属性画三角形
查看>>
ubuntu分区
查看>>
iOS图片拉伸技巧
查看>>
director.js教程
查看>>
Python基础之内置函数(二)
查看>>
Code First开发系列之数据库迁移
查看>>
windows下dump文件调试
查看>>