MySQL学习笔记1
1、数据库基础
数据库:保存有组织数据的容器
表:某种特定类型的结构化清单。数据库中表的名字是唯一的。
模式:关于数据库和表的布局及特性的信息。
列:表中的一个字段。所有表都是由一个或多个列组成。
数据类型:所容许的数据的类型,限制该列中存储的数据。
行:表中的一个记录。
主键:一列(或一组列),其指能够唯一区分表中每个行。
2、MySQL简介
3、使用MySQL
4、检索数据
SELECT
检索单个列:
SELECT prod_name
FROM products;
检索多个列:
SELECT prod_name,prod_id,prod_price
FROM products;
检索所有列:
SELECT *
FROM products;
检索不同的行:(关键字:DISTINCT)
SELECT DISTINCT vend_id
FROM products;
限制结果:(关键字:LIMIT)
SELECT prod_name
FROM products
LIMIT 5;//返回不多于5行
//LIMIT 5,5;//返回从5行开始的5行
使用完全限定的表名:
SELECT products.prod_name
FROM crashcourse.products;
5、排序检索数据
排序数据:(ORDER BY)
SELECT prod_name
FROM products
ORDER BY prod_name;//按pord_name字母排序
按多个列排序:
SELECT prod_name,prod_id,prod_price
FROM products
ORDER BY prod_price,prod_name;//先按价格排序,价格相等按名称排序
指定排序方向:(DESC)
SELECT prod_name
FROM products
ORDER BY prod_name DESC;//降序排序
6、过滤数据
使用WHERE子句:
SELECT prod_name,prod_price
FROM products
WHERE prod_price = 2.50;//
使用WHERE子句操作符:
注:空值检查
SELECT prod_name
FROM products
WHERE prod_price IS NULL;//返回没有价格的产品,表中没有这样的行则无返回数据。
7、数据过滤
组合WHERE子句:
AND操作符:
SELECT prod_name,prod_id,prod_price
FROM products
WHERE vend_id = 1003 AND prod_price<=10;//返回1003制造的价格小于等于10的产品的名称和价格。
OR操作符:
SELECT prod_name,prod_price
FROM products
WHERE vend_id = 1002 OR vend_id = 1003;
计算次序:
先AND再OR,要想先OR可以加括号。
IN操作符:
SELECT prod_name,prod_price
FROM products
WHERE vend_id IN(1002,1003)
ORDER BY prod_name;
NOT操作符:
SELECT prod_name,prod_price
FROM products
WHERE vend_id NOT IN(1002,1003)
ORDER BY prod_name;
8、用通配符进行过滤
LIKE操作符:
通配符:用来匹配值的一部分的特殊字符。
搜索模式:由字面值,通配符或两者组合构成的搜索条件。
百分号通配符:%表示任何字符出现任何次数
SELECT prod_name,prod_price
FROM products
WHERE prod_name LIKE ‘jet%’;//找出所有以jet开头的产品。
下划线通配符:_作用与%一样,但下划线只匹配一个字符。
9、正则表达式
空白元字符:
字符类:
重复元字符:
定位元字符:
10、创建计数字段
拼接字段加使用别名:
执行算数计算:
SELECT prod_id,
quantity,
item_price,
quantity*item_price AS expanded_price
FROM orderitems
WHERE order_num = 20005;