mySQL语言总结--1

1.使用MySQL。
  • 显示数据库,SHOW DATABASES;
  • 使用数据库,USE databasename;
  • 显示数据库的列表名,SHOW TABLES;
  • 显示列表的的信息,SHOW COLUMNS FROM customers/DESCRIBE customers;
2.检索数据。
  • 检索单个列,SELECT prod_num FROM products;
  • 检索多个列,SELECT prod_id, prod_name, prod_price FROM products;
  • 检索所有列,SELECT * FROM products;
  • 检索不同的行,即所有行的值要求不一样 SELECT DINSTINCT vend_id FROM products;
  • 限制结果
    • 返回不多于几行,SELECT prod_name FROM products LIMIT 5;
    • 可以指定开始行和结束行,SELECT prod_name FROM products LIMIT 5,5;
      • 同义SELECT prod_name FROM products LIMIT 4 OFFSET 3, 意思是从第三行开始选4行。
  • 使用完全限定的表名, SELECT products.prod_name FROM products;
3.排序检索数据。
  • 排序数据,SELECT prod_name FROM products ORDER BY prod_name;
  • 按照多个列排序,SELECT prod_id, prod_price,prod_name FROM products ORDRE BY prod_price, prod_name;
  • 指定排序方向,用DESC进行降序排序,SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;
    • 按照多个列排序,SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name;
  • ASC 可以指定升序排序。
  • 结合DESC,LIMIT找到最大值或者最小值,SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1;
4.过滤数据。
  • WHERE 过滤子句,SELECT prod_name,prod_price FROM products WHERE prod_price = 2.50;
  • WHERE 子句操作符:
    • = 等于 SELECT prod_name,prod_price FROM products WHERE prod_name = ‘fuses’;
    • > | < 大于|小于 SELECT prod_name,prod_price FROM products WHERE prod_price < 10;
    • >= | <= 大于等于|小于等于 SELECT prod_name,prod_price FROM products WHERE prod_price <= 10;
    • != | <> 不等于 SELECT vend_id, prod_name FROM products WHERE vend_id <> 1003;
    • 范围值检查 SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
  • 空值检查, SELECT prod_name FROM prod_price IS NULL;
5.数据过滤。
  • 组合WHERE子句。
    • AND 操作符, SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10;
    • OR 操作符, SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003;
    • 可以用括号控制计算次序, SELECT prod_name, prod_price FROM products WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10;
    • 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;
6.使用通配符进行过滤。
  • % 通配符表示任意字符串出线任意次数.
    • ‘jet%’表示匹配以jet开头的字符串, SELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘jet%’;
    • '%anvil%'包含anvi的字符,SELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘%anvil%’;
    • ‘s%e’ 表示以s开头,e结尾,ELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘s%e’;
  • ‘-’ 匹配任意单个字符.
    • SELECT prod_id, prod_name FROM products WHERE prod_name LIKE ‘_ ton anvil’;
7.使用正则表达式进行搜索。

本章只需要熟悉正则表达式的使用就很容易熟练使用。

  • 基本字符串匹配,SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000’ ORDER BY prod_name;
  • 进行OR匹配, SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000|2000’ ORDER BY prod_name;
  • 匹配几个串之一, SELECT prod_name FROM products WHERE prod_name REGEXP ‘[123] Ton’ ORDER BY prod_name;
  • 范围匹配,SELECT prod_name FROM products WHERE prod_name REGEXP ‘[1-5] Ton’ ORDER BY prod_name;
  • 匹配特殊字符, 匹配特殊字符前边必须加‘\’. SELECT vend_name FROM vendors WHERE vend_name REGEXP ‘\.’ ORDER BY vend_name;
  • 匹配字符类、匹配多个实例、定位符,主要还是正则的知识,多学多用。
8.创建计算字段。
  • 字段的意义基本与列相同
  • 拼接字段,SELECT Concat(vend_name, ’ (’, vend_country, ‘)’) FROM vendors ORDER BY vend_name;
    • RTrim()去右边括号;LTrim() 去左边括号, Trim() 去两边括号。: SELECT Concat(RTrim(vend_name), ’ (’ , RTrim(vend_country) ,’)’) FROM vendors ORDER BY vend_name;
    • 使用别名,SELECT Concat(RTrim(vend_name), ’ (’ , RTrim(vend_country) ,’)’) AS vend_title FROM vendors ORDER BY vend_name;
  • 执行算术运算,有加减乘除可以计算列的数据。SELECT prod_id, quantity, item_price , quantity*item_price AS expanded_price WHERE order_num = 20005;
9.使用数据处理函数。
  • 文本处理函数,Upper() 大写函数: SELECT vend_name , Upper(vend_name) AS cend_name_upcase FROM vendors ORDER BY vend_name;

    • Left() 返回串左边的字符
    • Length() 字符串长度
    • Locate() 找到一个串的子串
    • Lower() 返回小写字符串
    • LTrim() 去掉串左边的空格
    • RTrim() 去掉串右边的空格
    • Soundex() 返回串的SOUNDEX的值 // 字符串的发音
    • SubString() 返回子串的字符
  • 日期和时间处理函数。

    SELECT cust_id, order_num FROM orders WHERE Date(order_data) = ‘2005-09-01’;

    SELECT cust_id, order_num FRM orders WHERE (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;

    更多时间处理函数参考<MySql必知必会p72>

  • 数值处理函数。 Abs() | Cos() | Exp() | Mod() | Pi() | Rand() | Sin() | Sqrt() | Tan() …

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值