有一个Access表格,他是这样的:暂且叫做表1
SELECT
语句适用于从数据库中选取数据。他的基本语法是这样的:
SELECT column_name,column_name
FROM table_name;
与
SELECT * FROM table_name;
比如说,提取表1中所有列,就这样:
SELECT * FROM 表1;
比如说,提取表1中学生的姓名与班级:
SELECT 姓名,班级 FROM 表1;
SELECT DISTINCT
语句用于返回唯一不同的值,有时候在表中,一个列可能会包含多个重复的值,有时我们也许希望仅仅列出不同的值。他的基本语法是这样的:
SELECT DISTINCT column_name,column_name
FROM table_name;
具体用法与上面相同
WHERE
子句用于过滤记录,用于提取那些满足指定条件的记录,它的基本语法是这样的:
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
比如,在表1中想提取列宿舍的112宿舍:
SELECT * FROM 表1 WHERE 宿舍=114;
WHERE
子句中的运算符:
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于,在其他sql版本也可以是 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
IN | 指定针对某个列的多个可能值 |
AND & OR
运算符,用于基于一个以上的条件对记录进行过率
比如:从表1中选取宿舍114且成绩大于80分的人:
SELECT * FROM 表1 WHERE 宿舍=114 AND 成绩>80;
从表1中选取宿舍在114或者成绩大于80分的人:
SELECT * FROM 表1 WHERE 宿舍=114 OR 成绩>80;
两者的结合,选取表1宿舍114,且班级在17数媒02或者18数媒移动的:
SELECT * FROM 表1 WHERE 宿舍=114 AND (班级='17数媒02' OR 班级='18数媒移动');
ORDER BY
用于对结果集进行排序。默认按照升序对记录排序,如果需要按照降序排列,可以使用DESC
关键字。
比如:对17数媒02班的同学的成绩按照降序排列:
SELECT * FROM 表1 WHERE 班级='17数媒02' ORDER BY 成绩 DESC;
INSERT INTO
用于向表中插入新纪录。
第一种形式,无需指定要插入数据的列名,只需要提供数值就可以了。
INSERT INTO table_name
VALUES (value_1,value_2,value_3…value_n);
第二种形式,需要指定列名及被插入的值:
INSERT INTO table_name (column_1,cloumn_2,...)
VALUES (value_1,value_2,...);
比如说:在表1种插入一个新行:
INSERT INTO 表1 (姓名,性别,班级,宿舍,分数) VALUES ('lesileqin',`男`,`17数媒02`,114,`100`);
UPDATE
语句用于更新表中的记录,基本语法:
UPDATE table_name
SET column_1 = value_1,column_2 = value_2,...
WHERE some_column = some_value;
比如:我们想把表1种wzq的分数改为20,宿舍改为666:
UPDATE 表1 SET 成绩=20,宿舍=666 WHERE 姓名='wzq';
如果少加WHERE,就可能会把所有的数据改为指定值!!一定要小心!
DELETE
语句,用于删除表中的行,语法如下所示:
DELETE FROM table_name
WHERE some_column = some_value;
比如,我们要删除表中,名字叫wzq并且成绩为100的人:
DELETE FROM 表1 WHERE 姓名='wzq' AND 成绩 = 100;