mysql %的用法_mysql的用法

一.数据文件--》DBMS--》客户端--》用户

二.关键字 key word 作为sql语言的组成部分的一个保留字。绝不要用一个关键字命名表或者列

三.USE关键字,不显示任何结果,依赖于使用的客户机显示某种形式的通知;记住必须使用USE打开数据库,才能读取其中的数据。

四.show databases 返回可用数据可的一个列表;

为了获得数据库内的表的列表,使用show tables;

show columns给出一个表名:例如:show columns from  表;

show  status 用于显示广泛的服务器状态信息;

show create database 和 show create table,分别显示常见特定数据库或者表的MySQL语句;

show grants 用来显示授予用户的安全权限;

show errors和show warnings,用来显示服务器的错误或警告消息;

在mysql中执行 help show 会显示允许的show语句

五.检索语句select

检索单个列:例如 select  prod_name from  products  未指定排序时不排序

多条语句用;分隔

sql语句不区分大小写(美观性:语句大写,表和表名小写)

检索多个列:要查询多个列,一定要在列名之间加上,号 但是最后一个不加。 例如:select prod_id,prod_name,prod_price from products;

检索所有列:select * from products 返回表中所有列,列的顺序一般是列在定义中出现的顺序,但有时候不是这样的,表的模式的变化(添加或者删除)会导致顺序的变化。

检索不同的行:select distinct vend_id from prodcts; 使用distinct关键字必须放在列名的前面,他的作用是去重适用于所有检索的列,不能部分使用distinct

限制结果:1.例如:select prod_name  from products limit 5;意思是limit返回不多于5行。为了得出下一个5行,要指定检索开始行和行数。

2.例如:select prod_name  from products limit 5,5;第一个5是开始位置,第二个5是检索的行数。

3.行0,检索出来的一个行为0行,而不是行1,因此limit1,1 检索出来的是第二行而不是第一行。

4.行数不够时,只能返回能返回的行数

5.例如:limit3,4 =limit4 offset3  意为从3行开始取第四行

使用完全限定的表名:1.例如:select products.prod_name from products;  这条sql语句在功能上等于本章再开始用的那一条语句,但是这里制定了一个完全限定的列名。

2.例如:select products.prod_name from crashcourse.products; 这条语句在功能上也等于刚使用的那条语句(当然,假定products表确实位于crashcourse数据库中)

排序检索数据:1.order by 子句取一个或者多个列的名字,据此对输出进行排序,例如:select prod_name from products order by prod_name;

2.例如:select  prod_id,prod_name,prod_price from products order by prod_price,prod_name ; 先按价格再按名称排序

指定排序方向:1.order by  *  desc  降序排序 例如:select  prod_id,prod_name,prod_price from products order by prod_price  desc;最贵的在前边。

2.例如:select  prod_id,prod_name,prod_price from products order by prod_price  desc,prod_name;最贵的排在前边,然后在对产品名字排序。

3.在多个列上降序排序,必须对每个列指定desc关键字;desc相反的是asc(升序,但是默认为升序,一般不用)

4.order by 与 limit组合使用;select prod_price from products order by prod_price desc limit 1; desc保证行是按照最昂贵的倒序,而limit1 是告诉mysql 只返回1行。(order by子句必须在from之后,limit 必须在order by 之后 否则会产生错误)

六。过滤数据

1.使用where子句:where子句在表名(from子句)之后给出

2.order by 在where 之后

3.where子句操作符:between:在两者之间,=,!=,:不等于

4.between使用 例如:select prod_price from products where  prod_price between 5 and 10;

5.空值检查:null并不是空格,语法如下: select prod_name from products where  prod_price is null;

6.and和or语句一般在where之后使用,and的优先级高于or 所以and会被优先执行,如果想先执行or 加入().

例如:select prod_name,prod_price from products where  (vend_id=1002 or vend_id=1003) and  prod_price >= 10;这样就会优先执行or语句

7.in操作符:select prod_name,prod_price from products where vend_id  in(1002,1003) order by prod_name;

in操作符的优点:在使用长的合法选项清单时,in操作符的语法更清楚直观。

使用in时更容易管理

in操作符y一般比or操作符执行的快

in最大的优点是可以包含其他的select语句,使得能够更动态的建立where子句

8.not操作符:where子句中的not操作符有且只有一个功能,那就是否定它之后所跟的任何条件。 例如:select prod_name,prod_price from products where vend_id not in(1002,1003) order by prod_name;

七。通配符进行过滤

1.like操作符:为在搜索子句中使用通配符,必须用like操作符。like指示mysql后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

2.百分号(%)通配符。区分大小写;在搜索串中,%表示任何字符出现的任意次数。例如:select prod_id,prod_name from products where prod_name  like 'jet%';就是jet出现的次数。通配符%不能匹配null。

3.下划线(—)通配符:下划线通配符与%用途一样,但下划线只匹配单个字符而不是多个字符

4.通配符使用技巧:不要过度使用通配符;在确实使用通配符时,除非有不要,否则不要把它们用在搜索模式的开始处,如果用了的话,搜索起来是最慢的;仔细注意通配符的位置

5.like不加通配符匹配不到结果,正则可以。

八。汇总数据

sql聚集函数:

avg(返回某列的平均值)

count(返回某列的行数)

max(返回某列的最大值)

min(返回某列的最小值)

sum(返回某列值之和)

例如:select avg(prod_price) as  avg_price  from products;

九。分组数据

1.创建分组:分组是在select语句中的group by 子句中建立的

2.group by的重要规定

group by的子句可以包含任意数目的列

如果在group by子句中嵌套了分组,数据将在最后规定的分组上进行汇总,建立分组时,指定所有列都一起计算

group by 子句中列出的每个列都必须是检索列或有效的表达式(但不能时聚集函数)。如果在select中使用表达式,则必须在group by 子句中指定相同的表达式。不能使用别名

除聚集计算语句外,select语句中的每个列都必须在group by 子句中给出

如果分组列中具有null值,则null必须作为一个分组返回。如果列中有多个null值,他们将分为一组

group by 子句必须出现在where子句之后,order by 子句之前

3.过滤分组:having

having非常类似于where。目前为止所学过的所有类型where子句都可以用having代替,唯一的差别是where过滤行,而having过滤分组。

例如:select cust_id,count(*) as orders from orders group by cust_id having count(*) >=2

十。使用子查询

1.子查询

十一、插入数据

1.数据插入:insert是用来插入行到数据库表的。插入可以用几种方式使用

插入完整的行

插入行的一部分

插入多行

插入某些查询结果

例如:insert into 表  values(插入数据)

十二。更新和删除数据

update 表名 set 赋值被更新的列  where 来自某个列

delete from 表名 where 字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值