1、查: 查询 select
2、增: 新增 insert
3、改: 修改 update
4、删: 删除 delete
一、查询 select
1、单表查询
理解:从(from)表" PW_Student(学生表)",查询这些列(studentID学生ID, ClassID班级ID, GradeID等级ID, SpecialtyID专业ID,StudentName,学生姓名,StudentSex学生性别,StudentIDNum生身份证)的数据
二、新增(insert)
理解:新增(insert)表“PW_Student(学生表)”的这些列(studentID学生ID, ClassID班级ID, GradeID等级ID, SpecialtyID专业ID,StudentName,学生姓名,StudentSex学生性别,StudentIDNum生身份证),它们的值(values)分别为(2,1,1,6,'徐小春','男',440981199803024912)
三、删除 delete
理解:删除(delete)表“PW_Student(学生表)”,在(where)(studentID=8)的地方(就是学生ID=8的这行数据)
四、修改 update
理解:修改(update)表“PW_Student(学生表)”的集合(set)StudentName='黎明',ClassID=3,SpecialtyID=7,在(where)(studentID =3)的地方(就是学生ID=3的这行数据)
五、参数化SQL语句
例如我们在本篇中创建的表PW_Student中查找所有2017级的学生,那么通常情况下我们的SQL语句可能是这样:
1 |
select * from PW_Student where GradeID='2017' |
在参数化SQL语句中我们将数值以参数化的形式提供,对于上面的查询,我们用参数化SQL语句表示为:
1 |
select * from PW_Student where GradeID = @ GradeID |
再对代码中对这个SQL语句中的参数进行赋值,假如我们要在表PW_Student中查找所有2017级的后级别的学生,这个参数化SQL语句可以这么写:
1 |
select * from PW_Student where GradeID > @ GradeID >=大于等于 <=小于等于 |
六、多表查询
不同的 SQL JOIN
在我们继续讲解实例之前,我们先列出您可以使用的不同的 SQL JOIN 类型:
- INNER JOIN:如果表中有至少一个匹配,则返回行
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN:只要其中一个表中存在匹配,则返回行
七、条件查询
(1)单表条件查询
(2)where and 多表
SQL AND & OR 运算符
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录
or两种都符合,其中一个符合
(3)where and ( or )多表
(4)like % % 模糊查询,多表
ltrim左边去空格 rtrim右边去空格
(5)DISTINCT 语句用于返回唯一不同的值
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值
(6) ORDER BY 关键字用于对结果集进行排序
(7)ORDER BY DESC降序排序
(8)INSERT INTO 语句用于向表中插入新记录。
INSERT INTO 语句可以有两种编写形式。
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO BT_Authors
VALUES (1,’小会’);
第二种形式需要指定列名及被插入的值:
INSERT INTO BT_Authors (AuthorsID, AuthorsName)
VALUES (1,’小会’);
在 SQL 中,我们有如下约束:
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。
- DEFAULT - 规定没有给列赋值时的默认值。
我们会详细讲解每一种约束。
1、NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
2、UNIQUE 约束唯一标识数据库表中的每条记录。
3、PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
4、一个表中的 FOREIGN KEY(外部键) 指向另一个表中的 PRIMARY KEY(主键)。
让我们通过一个实例来解释外键。请看下面两个表:
"Persons" 人员表:
P_Id |
LastName(上一个名称) |
FirstName(第一名称) |
Address(地址) |
City(城市) |
1 |
Hansen |
Ola |
Timoteivn 10 |
Sandnes |
2 |
Svendson |
Tove |
Borgvn 23 |
Sandnes |
3 |
Pettersen |
Kari |
Storgt 20 |
Stavanger |
"Orders" 订单表:
O_Id |
OrderNo(点单编号) |
P_Id |
1 |
77895 |
3 |
2 |
44678 |
3 |
3 |
22456 |
2 |
4 |
24562 |
1 |
请注意,"Orders" 表中的 "P_Id" 列指向 "Persons" 表中的 "P_Id" 列。
"Persons" 表中的 "P_Id" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "P_Id" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY(外部键) 约束用于预防破坏表之间连接的行为。
FOREIGN KEY(外部键) 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
总结:
通过上面的案例可以学习到了一个问题分析的思路,还可以加深一下自己学习方法的记忆,同时希望帮助到大家!