SQL语句知识点
PERSON表
NUMBER | NAME | SEX | AGE |
1 | THERON | male | 19 |
2 | JACK | male | 20 |
3 | LUCY | female | 20 |
1.SELECT选择
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称(选择所有的列)
SELECT NUMBER FROM PERSON
SELECT * FROM PERSON
2.DISTINCT列出不同的值,删除重复的
SELECT DISTINCT 列名称 FROM 表名称
SELECT DISTINCT AGE FROM PERSON
3.ORDER BY对结果集进行排序
默认为升序,也可以用ASC,如果想降序的话可以使用DESC
SELECT NAME FROM PERSON ORDER BY NAME DESC
SELECT NAME,AGE FROM SC ORDER BY NAME DESC,AGE ASC
4.INSERT插入
INSERT 表名称 VALUES(值1,值2...)
可以指定插入的列 INSERT INTO TABLE_NAME(列1,列2...) VALUES(值1,值2....)
INSERT PERSON VALUES(4,Tom,female,24)
INSERT INTO SC(NUMBER,NAME,SEX,AGE) VALUES(4,Tom,female,24)
5.UPDATE修改数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET NAME= ‘Theron ’ WHERE NUMBER = '1'
UPDATE Person SET NAME='Theron',SEX='female' WHERE NAME= 'THERON'
6.DELETE删除
DELETE FROM 表名称 HWERE 列名称=某值
DELETE FROM PERSON WHERE NAME=‘Theron’
DELETE FROM PERSON
7.LIKE用于在WHERE子句中搜索列中的指定模式
SELECT colum_name(s) FROM table_name
WHERE column_name LIKE pattern
现在,我们希望从上面的 "Persons" 表中NAME在以 "N" 结束的的人:
SELECT * FROM PERSON
WHERE NAME LIKE ’%N‘
现在,我们希望从上面的 "Persons" 表中NAME中间没有ER的人:
SELECT * FROM PERSON
WHERE NAME NOT LIKE ‘%ER%’
现在,我们希望从上面的 "Persons" 表中NAME中间除了第一个字符以外其他为HERON的人:
SELECT * FROM PERSON
WHERE NAME LIKE ’_HERON‘
8.BETWEEN AND
SELECT column_name(s) FROM table_name
WHERE column_name BETWEEN value1 AND value2
想找年龄介于19-20岁的
SELECT * FROM PERSON
WHERE AGE BETWEEN 19 AND 20
想找年龄不属于19-20的
SELECT * FROM PERSON
WHERE AGE NOT BETWEEN 19 AND 20
9.TOP子句
TOP 子句用于规定要返回的记录的数目。
SELECT TOP number|percent column_name(s)
FROM table_name
现在,我们希望从上面的 "Persons" 表中选取头两条记录。
SELECT TOP 2 * FROM PERSON
现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。
SELECT TOP 50 PERCENT * FROM PERSON
10.SQL通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。算符一起使用。
通配符 | 描述 |
% | 替代一个或多个字符 |
_ | 仅替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:
SELECT * FROM PERSON WHERE CITY LIKE '%lond%'
我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:
SElECT * FROM PERSON WHERE CITY LIKE '[ALN]%'
我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:
SELECT * FROM PERSON WHERE CITY LIKE '[!ALN]';
11.IN操作符
IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT column_name(s) FROM table_name
WHERE column_name IN (value1,value2)
现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:
SELECT * FROM PERSON
WHERE NAME IN ('Adams','Carter');