一、使用Mysql
- 1、选择数据库:
例如使用一个crashcourse数据库:
输入:USE crashcourse
输出:Database changed
2、了解数据库和表:
显示数据库:SHOW DATABASES;
显示表:SHOW TABLES;
用SHOW选择当前的数据库显示可用表列:SHOW COLUMNS FROM customers;
3、SHOW的其他语句:
SHOW STATUS用于显示广泛的服务器状态信息;
SHOW CREATE DATABASE 和SHOW CREATE TABLE分别用来显示创建指定数据库或表的 mysql语句;
SHOW GRANTS 用来授予用户的安全权限;
- 检索数据
1、用select从products表中检索一个prod_name的单个列:
Select prod_name
From produces;
2、检索多个列用select从products表:
Select prod_id,pord_name,prod_price
From produces;
3、检索所有列:
Select *
From produces;
4、检索不同行:
Select vend_id
From produces;
5、限制结果(例如不多于5行):
Select prod_name
From produces
Limit 5;
- 排序检索数据
- 排序数据(用名字排序)
Select prod_name
From products
Order BY prod_name;(order by子句取一个或多个列的名字,据此对输出进行排序)
- 按多个列排序,下面用代码检索三个列,并对两个列进行排序
Select prod_name,prod_id,prod_pirce
From products
Order by prod_name,prod_id;
- 指定排列方向,下面按价格以降序排列(贵的产品放在前面)
Select prod_name,prod_id,prod_price
From products
Order by prod_price DESC;
多列排序,按价格以降序排列,后方更上产品名比较:
Select prod_name,prod_id,prod_price
From products
Order by prod_price DESC,prod_name;
- 过滤数据
- 使用where语句(例如寻找价格为2.50的行)
Select prod_name,prod_price
From products
Where prod_price = 2.50;
- where子句操作符
- 检查单个值
检查Where prod_name = ‘fuses’语句:
Select prod_name,prod_price
From products
Where prod_name = ‘fuses’;
列出价格小于10的所有商品:
Select prod_name,prod_price
From products
Where prod_price < 10;
- 不匹配检查
列出不是1003制造的所有商品:
Select vend_id,prod_name
From products
Where vend_id <> 1003;(!=与<>相同)
- 范围值检查(可以使用BETWEEN操作符,该语法与其他的操作符稍有不同,因为他需要两个值。
将价格控制在5美元到10美元之间
Select prod_name,prod_price
From products
Where prod_price between 5 and 10;
- 空值查询select语句有一个特殊的where子句,可用来检查具有NULL值的列,这个where子句就是is null子句
Select prod_name
From products
Where prod_price IS NULL;
- 数据过滤
- AND操作符
1003制造且是价格小于等于10美金
Select prod_id,prod_price,prod_name
From products
Where vend_id = 1003 AND prod_price <= 10;
- OR操作符
厂家1002和1003 商品和价格
Select prod_name,prod_price
From products
Where vend_id=1002 OR vend_id=1003;
- 计算次序
价格为10美元以上且由1002或则1003制造的
Select prod_name,prod_price
From products
Where (vend_id = 1002 or vend_id = 1003) and prod_price >= 10;(and计算次序中优先级更高)
- IN操作符
Select prod_name,prod_price
From products
Where vend_id IN (1002,1003) 与where vend_id=1002 or vend_id=1003;相同
Order by prod_name;
- NOT操作符
列出除了1002 和1003 之外的产品
Select prod_name,prod_price
From products
Where vend_id NOT IN (1002,1003)
Order by prod_name;
- 用通配符进行过滤
- like操作符
百分号(%)表示任何字符出现任意次数
例如为了找出所有以jet起头的产品
Select prod_id,prod_name
From products
Where prod_name LIKE ‘jet%’;
例如为了找出所有以jet结尾的产品
Select prod_id,prod_name
From products
Where prod_name LIKE ‘%jet’;
- 下划线(_)
下划线的作用与%一样,但下划线只能匹配单个字符而不是多个字符
Select prod_id,prod_name
From products
Where prod_name LIKE ‘_ ton anvi1’;(而当将_变成%时,则会多出现一条.5 ton anvil)
|-----------------|-------------------|
|ANV02 |1 ton anvil |
|————— |—— ———|
|ANV03 |2 ton anvil |
|--------------------------------------|