读《MySQL必知必会》
可以参照这两篇:
MySQL Tutorial(1)
MySQL Tutorial(2)
###第3章:使用MySQLSHOW DATAbaseS; 显示系统中存在的数据库USE crashcourse; 使用数据库crashcourseSHOW TABLES; 显示当前数据库中的所有数据库表SHOW COLUMNS FROM customers; 显示customers表中的所有属性列DESCRIBE customers; 显示customers表中的所有属性列- - -###第4章:检索数据SELECT prod_name FROM products; 从表products中检索单个列prod_nameSELECT prod_id, prod_name, prod_priceFROM products; 从表products中选3列SELECT * FROM products; 检索表products中的所有的列SELECT vend_id FROM products; 检索products表中的vend_idSELECT DISTINCT vend_id FROM products; 检索products表中的所有不同的vend_idSELECT prod_name FROM products 使得输出结果不多于5行LIMIT 5;SELECT prod_name FROM products 输出从行5开始的5行结果LIMIT 5, 5;SELECT products.prod_name FROM products; 使用完全限定的名字来引用列SELECT products.prod_name mydb_example是数据库名FROM mydb_example.products;###第5章:排序检索数据SELECT prod_name FROM products 将输出结果按升序排列ORDER BY prod_name;SELECT prod_id, prod_price, prod_name 将输出结果先按价格,然后按名称排序FROM productsORDER BY prod_price, prod_name;SELECT prod_id, prod_price, prod_name 将输出结果按价格进行降序排列FROM productsORDER BY prod_price DESC;SELECT prod_id, prod_price, prod_name 将输出结果先按价格进行降序排列,然后按名称进行升序排列FROM productsORDER BY prod_price DESC, prod_name;SELECT prod_price 查询价格最高的商品FROM productsORDER BY prod_price DESCLIMIT 1;###第6章:过滤数据SELECT prod_name, prod_price 查询价格为2.50的商品FROM productsWHERE prod_price = 2.50;SELECT prod_name, prod_price 查询名为'fuses'(不区分大小写)的商品FROM productsWHERE prod_name = 'fuses';SELECT prod_name, prod_price 查询价格低于10的商品FROM productsWHERE prod_price < 10;SELECT prod_name, prod_price 查询价格低于或等于10的商品FROM productsWHERE prod_price <= 10;SELECT vend_id, prod_name 查询不是由供应商1003制造的产品FROM productsWHERE vend_id <> 1003;SELECT vend_id, prod_name 查询不是由供应商1003制造的产品FROM productsWHERE vend_id != 1003;SELECT prod_name, prod_price 查询商品价格在5到10之间的产品FROM productsWHERE prod_price BETWEEN 5 AND 10;SELECT prod_name 查询价格字段为空的商品FROM productsWHERE prod_price IS NULL;SELECT cust_id 查询邮箱字段为空的供应商FROM customersWHERE cust_email IS NULL;###第7章:数据过滤SELECT prod_id, prod_price, prod_name 查询vend_id为1003的供应商里价格在10之内的商品FROM productsWHERE vend_id = 1003 AND prod_price <= 10;SELECT prod_name, prod_price 查询商品中vend_id为1002或者1003的商品FROM productsWHERE vend_id = 1002 OR vend_id = 1003;SELECT prod_name, prod_price 要注意的是AND操作符的优先级比OR操作更高FROM productsWHERE vend_id = 1002 OR vend_id = 1003 AND prod_price >= 10;SELECT prod_name, prod_price 打上括号之后先执行括号内的语句FROM productsWHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10;SELECT prod_name, prod_price 查询商品中vend_id为1002或者1003的商品FROM productsWHERE vend_id IN (1002, 1003)ORDER BY prod_name;SELECT prod_name, prod_price 查询商品中vend_id为1002或者1003的商品FROM productsWHERE vend_id = 1002 OR vend_id = 1003ORDER BY prod_nameSELECT prod_name, prod_price 查询商品中vend_id为1002或者1003的商品FROM productsWHERE vend_id NOT IN (1002, 1003)ORDER BY prod_name;###第8章:用通配符进行过滤SELECT prod_id, prod_name 查询商品名以jet开头的商品FROM productsWHERE prod_name LIKE 'jet%';SELECT prod_id, prod_name 查询商品名中含有anvil的商品FROM productsWHERE prod_name LIKE '%anvil%';SELECT prod_name 查询商品名以s开头以e结尾的商品FROM productsWHERE prod_name LIKE 's%e';SELECT prod_id, prod_name 注意"_"只匹配一个任意的字符,不是多个FROM productsWHERE prod_name LIKE '_ ton anvil';SELECT prod_id, prod_name 注意通配符"%"和"_"的区别FROM productsWHERE prod_name LIKE '% ton anvil';###第9章:使用正则表达式进行搜索SELECT prod_name 使用正则表达式进行搜索FROM productsWHERE prod_name REGEXP '1000'ORDER BY prod_name;SELECT prod_name .在正则表达式里代表任意的一个字符FROM productsWHERE prod_name REGEXP '.000'ORDER BY prod_name;SELECT prod_name |表示或FROM productsWHERE prod_name REGEXP '1000|2000'ORDER BY prod_name;SELECT prod_name [123]表示的是匹配1或者2或者3FROM productsWHERE prod_name REGEXP '[123] Ton'ORDER BY prod_name;SELECT prod_name [1-5]表示匹配1到5之间的数,即1,2,3,4,5FROM productsWHERE prod_name REGEXP '[1-5] Ton'ORDER BY prod_name;SELECT vend_name 要匹配特殊字符,要在特殊字符前加上\\FROM vendorsWHERE vend_name REGEXP '\\.'ORDER BY vend_name;SELECT prod_nameFROM productsWHERE prod_name REGEXP '\\([0-9] sticks?\\)'ORDER BY prod_name;SELECT prod_name [:digit:]表示任意的数字,相当于[0-9]FROM productsWHERE prod_name REGEXP '[[:digit:]]{4}'ORDER BY prod_name;