注意:1)不是所有的数据库都支持。2) MySQL==> LIMIT ORACLE ==> ROWNUM 在MySQL中的用法:
SELECT column_name(s) FROM table_name WHERE condition LIMIT number;在ORACLE中的用法:
SELECT column_name(s) FROM table_name WHERE ROWNUM<=number;eg(MySQL):
SELECT * FROM Customers WHERE Country='Germany' LIMIT 3;两个通配符(极其重要): 1)% - 匹配0个、1个及多个字符 2)_ - 匹配单个字符LIKE语法:
SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern;eg:(选择客户名称以a结尾的所有客户)
SELECT *EROM Customers WHERE CustomerName LIKE "%a";①% ②_ ③[charlist]通配符 eg:"[bsp]%"==>以b、s或者p开头 "%[a-c]"==>以a、b或c开头 ④[!charlist]通配符
==>用于在WHERE子句中指定多个值,可以看作是多个OR条件的简写
IN语法:
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);eg:(选择位于“Germany”,“France”和“UK”的所有客户)
SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');BETWEEN语法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;eg:(选择价格在10和20之间的所有产品)
SELECT * FROM Products WHERE Price BETWEEN 10 AND 20;带有 IN 的 BETWEEN 操作符实例 eg:(选择价格在10到20之间,并且CategoryID不是1、2或3的所有产品)
SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3);带有文本值的 BETWEEN 操作符实例
eg:(选择所有带有ProductName BETWEEN'Carnarvon Tigers'和'Mozzarella di Giovanni'的产品) SELECT * FROM Products WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName;带有日期值的 BETWEEN 操作符实例
eg(选取 OrderDate 介于 '04-July-1996' 和 '09-July-1996' 之间的所有订单): SELECT * FROM Orders WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;请注意,在不同的数据库中,BETWEEN 操作符会产生不同的结果! 在一些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。 在一些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。 在一些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。
因此,请检查您的数据库是如何处理 BETWEEN 操作符! (经测试,MySQL中的BETWEEN包括两个测试值的字段)
SQL数据类型
==>基于表之间的共同字段,把两个或多个表的行结合起来
几种不同的JOIN类型: -->INNER JOIN:如果表中有至少一个匹配,则返回行 -->LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行 -->RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行 -->FULL JOIN:只要其中一个表中存在匹配,则返回行要求: ①SELECT语句列数相同 ②列具有相似的数据类型 ③每个SELECT语句中的列以相同的顺序排列
UNION语法:(默认选择不同的值) SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; UNION ALL语法:(允许重复值) SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; UNION与WHERE eg:(从客户和供应商中选择不同的德国城市) SELECT City, Country FROM Customers WHERE Country='Germany' UNION SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City;语法:
SELECT * INTO newtable [IN externaldb] FROM table1;用于 MySQL 的 DROP INDEX 语法:
ALTER TABLE table_name DROP INDEX index_nameDROP TABLE 语句(删除表)
DROP TABLE table_nameDROP DATABASE 语句(删除数据库)
DROP DATABASE database_nameTRUNCATE TABLE语句(删除数据,保留表结构)
TRUNCATE TABLE table_nameCREAT DATABASE语句==》数据库的创建 语法:
CREAT DATABASE dbName;CREAT TABLE语句==》数据库的表的创建 语法:
CREAT TABLE tbName( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), column_name4 data_type(size) );eg:(examples for mysql!!)
--向table1中添加user_eat列(最大长度为32字符) ALTER TABLE table1 ADD user_eat VARCHAR (32); --添加主键 ALTER TABLE table1 ADD PRIMARY KEY (user_ID); --删除列 ALTER TABLE table1 DROP user_eat --修改列的数据类型 ALTER TABLE table1 MODIFY COLUMN user_eat VARCHAR (8); --同时修改列名和数据类型 ALTER TABLE table1 CHANGE COLUMN user_sex user_lovers CHAR(2); --AUTO_INCREMENT==》自动插入增量字段 ALTER TABLE table1 MODIFY user_ID INT AUTO_INCREMENT;