1. MySQL 属于C-S(客户机-服务器)数据库管理软件(DBMS)
2.MySQL 命令行内以;或\g 结束
3.选择数据库: USE db_name;
4.显示所有数据库:SHOW DATABASES; 显示某数据库中所有表: SHOW TABLES;
5.显示表列: SHOW COLUMNS FROM db_name; 或 DESCRIBE db_name; 使用 HELP SHOW了解更多SHOW语句
6. 检索数据库: SELECT prod_id, prod_name FROM products; 检索所有列: SELECT * FROM products;
7. 检索不同的行:SELECT DISTINCT vendor_id FROM products;
8. 限制结果的前5行: SELECT prod_name FROM products LIMIT 5; SELECT prod_name FROM products LIMIT 5,5; ---> 返回从第5行开始的5行. 如果行数不够,那么只返回能返回的那么多行。 mySQL5中 加入了关键字 OFFSET : SELECT prod_name FROM products LIMIT 5 OFFSET 5;
9. 排序:SELECT prod_name FROM products ORDER BY prod_name; SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name; --->先按价格排序,如果价格一样则按名字排序。SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name; ---> prod_price 以降序排列。
10. 排序和限制的组合应用---找最大值、最小值:SELECT prod_name FROM products ORDER BY prod_name LIMIT 1;
11. 过滤数据:SELECT prod_name, prod_price from products WHERE prod_price = 2.5; 条件: =, >, <, >=, <=, !=, <>, BETWEEN . ps: ORDER BY 必须放在WHERE 之后。 过滤值为NULL的情况: SELECT prod_name, prod_email from products WHERE prod_email IS NULL;
12. AND, OR , IN , NOT操作符:SELECT prod_name, prod_price from products WHERE (vendor_id = 1003 OR vendor_id = 1002) AND prod_price >= 10; AND 操作符的优先级比OR要高。 IN 可以结合其他SELECT 语句。
13. LIKE操作符:SELECT prod_name, prod_price from products WHERE prod_name LIKE '% ton anvil'; 通配符 % 匹配多个字符, 通配符 _ 匹配单个字符。
14. mySQL 使用正则表达式:SELECT prod_name, prod_price from products WHERE prod_name REGEXP '1000'; REGEXP 在列值内匹配, LIKE匹配整个列。
15. mySQL 创建计算字段 -->使用Concat(): SELECT Concat(vendor_name, '(', vendor_country, ')') FROM vendors ORDER BY vendor_name;
16. mySQL 创建计算字段 -->执行算术计算: SELECT prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM orderitems WHERE order_num = 20005; mySQL 支持 + ,- ,* , / 四种运算符
17 mySQL 使用数据处理函数:(1)文本处理函数: 如 Upper(), Lower(), Left(), Length(), Locate(), LTrim(), Right(); (2) 日期和时间处理函数:AddDate(), AddTime(), CurDate(),DateDiff(), Now(); (3) 数值处理函数: Abs(), Cos(), Exp(), Mod()