网站建设知识
读《MySQL必知必会》
2025-07-22 10:00  点击:0

读《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;