MySQL基础入门(1)

mysql基础

入门篇
1.选择数据库:使用USE关键字,在执行任意数据库钱,需要选择一个数据库。eg:USE XXXXX;
必须使用USE打开数据库,才能读取其中的数据

2.使用SHOW查看MySQL数据库:SHOW DATABASES;返回可用数据库的一个列表

3.检索数据::SELECT语句,使用SELECT语句,至少给出两条信息:想选择什么,以及从什么地方选择

SELECT prod_name  
FROM products;

这样一条SELECT语句将返回表中所有行,数据没有过滤,也没有排序。

ps:MySQL语句不区分大小写,写成小写也是一样的,就像SELECT和select作用一样,许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写这样更便于阅读和调试。

检索多个列:

SELECT prod_name,prod_id,prod_price 
FROM products;

检索所有行:

SELECT * 
FROM products;

除非确实需要表中的每个列,否则最好别使用*通配符, 检索不需要的列通常会降低检索和应用程序的性能。

4.DISTINCT关键字:此关键字指示MySQL只返回不同的值:

SELECT DISTINCT vend_id 
FROM products;

它必须直接放在列名的前面。

5.限制结果用LIMIT

SELECT prod_name 
FROM products LIMIT 5;  
SELECT prod_name 
FROM products LIMIT 5,5;

意为返回从行5开始的5行。行0:检索出来的第一行是行0而不是行1,因此LIMIT 1,1;将检索出第二行而不是一行。在行数不够时,MySQL将只返回它能返回的那么多行。

6.排序数据:默认是从小到大,从a到z。为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序

SELECT prod_name 
FROM products 
ORDER BY prod_name;

指定排序方向:降序排序使用DESC关键字。

SELECT prod_name 
FROM products 
ORDER BY prod_name DESC;

SELECT prod_name 
FROM products 
ORDER BY prod_name DESC,prod_name;

这样的就是只对DESC前的的进行排降序。
如果想在多个列上进行降序排序,必须对每个列指定DESC关键字。顺序排序的是ASC 默认顺序所以一般省略。

与LIMIT结合使用:

SELECT prod_name
FROM products 
ORDER BY prod_name DESC LIMIT 1; 

在给出ORDER BY子句时,应该保证它位于FROM后,LIMIT必须位于ORDER BY后

7.过滤数据:也称为搜索条件。

SELECT prod_name 
FROM products 
WHERE prod_price < 2.50;

意为筛选出价格小于2.50的行。在同时使用ORDER BY和WHERE子句时,应该让WHERE在前面,先筛选后排序。WHERE子句操作符:<> 和 !=都是不等于的意思。

在执行匹配时不区分大小写,所以会与’FUSES’。单引号用来限定字符串,如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。如:

SELECT prod_name
FROM products
WHERE prod_name = 'fuses';

不匹配检查:

SELECT prod_name 
FROM products 
WHERE prod_price <> 2.50;

意为列出所有价格不是2.50的商品。

范围值检查(BETWEEN):

SELECT prod_name
FROM products 
WHERE prod_price BETWEEN 5 AND 10

意为检索价格在5和10之间的所有商品。

空值检查:

SELECT prod_name 
FROM products 
WHERE prod_price IS NULL

意为这条语句返回没有价格,不是价格为0的所有商品。

8.数据过滤:组合WHERE子句,可以使用结合AND和OR组合。这里注意一个:AND的优先级大于OR,这时候可以使用括号,优先次序:括号>AND>OR。

SELECT prod_name, prod_price
FROM products
WHERE (vend_id = 1002 OR vend_id = 1003 ) AND prod_ price >= 10;

IN操作符:IN取合法值由逗号隔开,全部括在圆括号中.

SELECT prod_name 
FROM products
WHERE vend_id  IN (1002,1003) 
ORDER BY prod_name;

优点:在使用合法选项清单的时候,IN操作符的语法更清楚更直观,计算的次序更容易管理,一般比OR操作符清单执行更快,IN最大优点是可以包含其他SELECT语句,能更动态地建立WHERE子句。

NOT操作符:

SELECT prod_name 
FROM products
WHERE vend_id NOT IN (1002,1003)
ORDER BY prod_name;

MySQL中支持使用NOT对IN、BETWEEN和EXISTS子句取反,这和其他的DBMS允许使用NOT对各种条件取反有很大的区别)

9.通配符:用来匹配值的一部分的特殊字符。在搜索子句中使用通配符必须是有LIKE操作符,LIKE指示MySQL后跟的搜索模式使用通配符匹配而不是直接相等匹配进行比较。
最常用通配符百分号(%):在搜索串中,%表示任何字符出现任意次数。%告诉MySQL接受jet之后的任意字符,不管他有多少字符。
例子:为了找出所有以jet起头的产品,可使用以下SELECT语句:

SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE 'jet%';

注意尾空格:例如在保存词anvil时,如果它后面有一个或多个空格,则子句 WHERE prod_name LIKE '%anvil'将不会匹配他们,
因为在l后还有多余的字符。解决该问题的的最简单方法就是在最后加上一个%,一个更好的办法就是使用函数。

下划线(_)通配符:与%的用途一样,但下划线只匹配单个字符而不是多个字符。与%能匹配0个字符不一样,_总是匹配一个字符,不能多也不能少。

本系列笔记以《MySQL必知必会》为基础记录,想要学习MySQL的小伙伴一定要入手这本书,明了易懂,干货满满!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值