mysql数据库命令大全_MySQL数据库常用命令

选择数据库

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的产品

AND和OR的优先级

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_';

通配符使用技巧

不过过渡使用通配符,如果其他的操作符能达到相同的目的,应该使用其他的操作符。

在确实需要使用通配符时,除非绝对有必要,否则不要把他们用在搜索模式的开始处。把通配符置于搜索模式的开始出,搜索起来是最慢的。

仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值