玖叶教程网

前端编程开发入门

mysql实用语句汇总(收藏转发--小手一点轻松拥有)

查询数据库和表命令:

SHOW DATABASES;

SHOW TABLES;

SHOW COLUMNS FROM COLLATIONS; //显示COLLATIONS中的所有列

auto_increment //自动增量,每添加一个行,该值自动加一

SELECT prod_name FROM products; //从prducts中检索出prod_name

SELECT prod_id,prod_name FROM products; //检索多个列

SELECT DISTINCT vend_id from products; //返回一列中不同的值(过滤掉相同的)

SELECT prod_name FROM products LIMIT 5; //限制最多输出5行

SELECT prod_name FROM products LIMIT 4,5; //限制最多从行4输出5行

SELECT products.prod_name FROM products; //完全限定

SELECT products.prod_name FROM crashcourse.products; //完全限定(列和表)

SELECT prod_name FROM products ORDER BY prod_name; //排序

SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price,prod_name; //对多个列排序(如果prod_price存在重复,就对prod_name重新排序)

SELECT prod_name FROM products ORDER BY prod_name DESC/ESC; //排序(升序或降序)

SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price = 2.5; //使用where过滤(= 《 <> betown等操作)

SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price BETWEEN 5 AND 10;//在中间

SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price vend_id = 1003 AND prod_price<=10 ;//and 多个条件过滤(or任意一个条件匹配)

AND的优先级比or更高,因此,如果存在先匹配OR,再匹配AND的情况,需要用()来约束

SELECT prod_price,prod_name FROM products WHERE vend_id IN(1002,1003);//在中间

SELECT prod_id,prod_price,prod_name FROM products WHERE prod_price NOT IN(1002,1003); //起否定作用

通配符,一般用于对数据进行复杂过滤

SELECT prod_id,prod_name FROM products WHERE prod_name LIKE 'jet%'; //搜索所有以jet开头的值(也可以用在两端,比如 %jet%)

SELECT prod_id,prod_name FROM products WHERE prod_name LIKE '_jet'; //搜索所有以jet开头的值(与%的区别是只匹配一字符)

字段拼接 Concat()函数

SELECT Concat(vend_name,'(',vend_country,')') FROM vendors ORDER BY vend_name; //生成一个由 name和country组成

别名:

上述拼接的字段没有名字,不用用于客户机应用中,可以给他们一个别名

SELECT Concat(vend_name,'(',vend_country,')') AS vend_title FROM vendors ORDER BY vend_name;

计算字段:

 将检索出的数据相乘成为一个新的列
 
 SELECT prod_id,quantity,item_price quantity*item_price AS expanded_price FROM orderitems WHERE order_num = 200;

函数:

Upper()文本转换为大写

SELECT vend_name,Upper(vend_name) AS vend_name_upcase FROM vendors ORDER BY vend_name;

其他的文本处理函数总结

名称 调用示例 示例结果 描述

LEFT LEFT('abc123', 3) abc 返回从左边取指定长度的子串

RIGHT RIGHT('abc123', 3) 123 返回从右边取指定长度的子串

LENGTH LENGTH('abc') 3 返回字符串的长度

LOWER LOWER('ABC') abc 返回小写格式字符串

UPPER UPPER('abc') ABC 返回大写格式字符串

LTRIM LTRIM(' abc') abc 将字符串左边空格去除后返回

RTRIM RTRIM('abc ') abc 将字符串右边空格去除后返回

SUBSTRING SUBSTRING('abc123', 2, 3) bc1 从字符串第2位开始截取3位字符

CONCAT CONCAT('abc', '123', 'xyz')abc123xyz 将各个字符串参数拼接成一个新的字符串

日期和世家处理函数:

now()函数 获取当前时间

select now()

year() month() dayofmonth() 从日期中提取年月日

select * from t_student where month(birthday) = 2; //获取生日为2月份的所有学生

timestampdiff() 函数

比较两个日期之间的差值

select timestampdiff(year,birthday,now()) as age from t_student;

通过计算差值来计算出学生的年龄

to_days() 将时间转换成天数

select * from t_student where(to_days(now())-to_days(birthday))<60;

date_add 和 date_sub 根据一个日期,计算出另一个日期

select date_add('1970-1-1', interval 10 year); # 1970 年 加上10年

日期的检索:

SELECT cust_id,order_num FROM orders WHERE Date(order_date) = '2005-09-01';

SELECT cust_id,order_num FROM orders WHERE Date(order_date) BETWEEN '2005-09-01'AND '2005-09-30'

//检索某年某月的数据

SELECT cust_id,order_num FROM orders WHERE Year(order_date)=2005 AND Month(order_date) = 9;

数值处理函数:

实现数据的汇总

AVG()返回products表中所有产品的平均价格

SELECT AVG(prod_price) AS avg_price FROM products;

返回确定行或列的平均值

SELECT AVG(prod_price) AS avg_price FROM products WHERE vend_id =1003;

COUNT()函数:

用于确定表中行的数目或符合特定条件的行的数目

SELECT COUNT(*) AS num_cust FROM customers;

SELECT COUNT(cust_email) AS num_cust FROM customers; //对cust_email非空的行计数

MAX()函数

SELECT MAX(prod_price) AS max_price FROM products; //返回指定列中的最大值

MIN()函数

与MAX正好相反

SUM()用来返回指定列值的和

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num = 20005;

SELECT SUM(item_price*quantity) AS total_price FROM orderitems WHERE order_num = 20005;

聚集不同值:

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id = 1003;

去除掉相同的值

SELECT COUNT(*) AS num_items,MIN(prod_price) AS price_min,

MAX(prod_price) AS price_max, AVG(prod_price) AS price_avg FROM products;

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言