时间:2021-07-01 10:21:17 帮助过:4人阅读
? ?
使用 MySQL
shell>mysql -u root -p Enter password:****** |
mysql>SHOW DATABASES; |
mysql>USE mytest; |
mysql>SHOW TABLES; |
mysql>SHOW COLUMNS FROM tmall_user; |
mysql>DESCRIBE tmall_user; |
第二种方法与第一种方法效果相同 |
mysql>SHOW STATUS; |
显示服务器的状态信息 |
mysql>SHOW CREATE DATABASE mytest; |
显示创建数据库的语句 |
mysql>SHOW CREATE TABLE tmall_user; |
显示创建表的语句 |
mysql>SHOW GRANTS; |
显示授权用户的安全权限 |
mysql>SHOW ERRORS; |
显示服务器错误 |
mysql>SHOW WARNINGS; |
显示服务器警告信息 |
? ?
基本查询(SELECT 语句)
mysql>SELECT username FROM tmall_user; |
mysql>SELECT username, password, time FROM tmall_user; |
mysql>SELECT * FROM tmall_user; |
mysql>SELECT DISTINCT password FROM tmall_user; |
注:DISTINCT 关键字应用于所有列。 |
mysql>SELECT username FROM tmall_user LIMIT 5 |
返回5行 |
mysql>SELECT username FROM tmall_user LIMIT 5,5 |
返回从第5行开始的5行 |
注:查询结果的第一行为行0,因此,LIMIT 1,1 将检索出第二行 |
新语法:LIMIT 4 OFFSET 3 从行3开始取4行,就像 LIMIT 3,4 一样 |
mysql>SELECT tmall_user.username FROM mytest.tmall_user; |
? ?
排序数据(ORDER BY 子句)
mysql>SELECT username FROM tmall_user ->ORDER BY username; |
对 username 结构列以字母顺序排列数据 |
mysql>SELECT prod_id, prod_price, prod_name FROM products ->ORDER BY prod_peice, prod_name; |
查询三个列,先按照价格排序,然后再按名称排序 |
mysql>SELECT prod_id, prod_price, prod_name FROM products ->ORDER BY prod_price DESC |
默认的排序是升序排序,DESC 关键字指定降序排序(价格由高到低) |
mysql>SELECT prod_id, prod_price, prod_name FROM products ->ORDER BY prod_price DESC, prod_name; |
以降序排序产品(价格从高到低),然后再对产品名排序。 |
注:DESC 关键字之应用到直接位于其前面的列名,如果想在多个列上进行降序排序,必须对每个列指定 DESC 关键字。 |
mysql>SELECT prod_price FROM products ->ORDER BY prod_price DESC ->LIMIT 1; |
查询价格最贵的那个商品 |
? ?
查询条件(WHERE 子句)
mysql>SELECT prod_name, prod_price FROM products ->WHERE prod_price = 2.50 |
返回 prod_price 值为 2.50 的行 |
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
BETWEEN | 在指定的两个值之间 |
mysql>SELECT prod_name, prod_price FROM products ->WHERE prod_price < 10; |
列出价格小于 10 的所有产品 |
mysql>SELECT vend_id, prod_name FROM products ->WHERE vend_id <> 1003; |
列出不是由供应商1003制造的所有产品 |
mysql>SELECT prod_name, prod_price FROM products ->WHERE prod_price BETWEEN 5 AND 10 |
查询价格在 5 和 10 之间的所有产品 |
mysql>SELECT prod_name FROM products ->WHERE prod_price IS NULL; |
查询价格列值为 NULL 的行。(空值=值为NULL) |
AND | 与 |
OR | 或 |
mysql>SELECT prod_name FROM products ->WHERE vend_id IN (1002, 1003) ->ORDER BY prod_name; |
查询供应商1002和1003制造的所有产品 |
IN WHERE 子句中用来指定要匹配值得清单的关键字,功能与 OR 相当 |
mysql>SELECT prod_name FROM products ->WHERE vend_id NOT (1002, 1003) ->ORDER BY prod_name; |
查询除1002和1003之外的所用供应商制造的产品 |
NOT WHERE 子句中用来否定后跟条件的关键字,MySQL中的 NOT 支持使用 对 IN、BETWEEN 和 EXISTS 子句取反 |
% | 任何字符出现任意次数,不能匹配 NULL |
_ | 任何一个字符 |
mysql>SELECT prod_name FROM products ->WHERE prod_name LIKE ‘s%e‘; | |
查询以s开头以e结尾的产品 |
? ?
? ?
函数
Left() | 返回串左边的字符 |
Length() | 返回串的长度 |
Locate() | 找出串的一个子串 |
Ltrim() | 去掉串左边的空格 |
Right() | 返回串右边的字符 |
Rtrim() | 去掉串右边的空格 |
Soundex() | 返回串SOUNDEX值(根据发音比较而不是字母比较) |
SubString() | 返回子串的字符 |
Upper() | 转换为大写 |
mysql>SELECT name FROM tmall_user ->WHERE SOUNDEX(name) = SOUNDEX(‘雷君‘) 返回:雷军 |