SQLServer数据操作
添加单行数据
INSERT [INTO] 目标表名[(字段)] VALUES (字段对应数据)
INSERT INTO Teacher([NAME],TEL,SUBID) VALUES ('张三',110,1)
使用此语法插入数据需注意:必须明确这张表中具有的非空约束字段是那些,
1.列名的个数必须和数据值对应
2.非数值类型的数据必须放在单引号内
3.数据值的类型必须和定义的字段数据类型保持一致
4.添加数据一定要注意数据表中的字段的各种约束问题,违反约束添加失败
5.这种添加一次只能添加一行数据
INSERT [表名] VALUES('数据',数据,数据)
使用初级语法需注意:这张表中的所有字段都必须为其提供对应的数据值除自增列以外,而且数据值的顺序必须保持和数据表中字段顺序一致
添加多行数据
INSERT INTO [表名]
SELECT '数据','数据',······ UNION
SELECT '数据','数据',······ UNION
SELECT '数据','数据',······ UNION
SELECT '数据','数据',······ UNION
SELECT '数据','数据',······
简单查询数据
SELECT <字段名> FROM 表名 [WHERE <查询条件>]
SELECT ID,[NAME] FROM TEACHER
查询整张表
SELECT * FROM [表名]
修改数据
UPDATE 表名 SET <字段名1=数据值1,字段名2=数据值2,······> [WHERE <条件>]
删除数据
DELETE FROM 表名 [WHERE 条件]
注意:
-
删除表中的数据不等于删除整张表所以删除不能用DROP
-
如果使用DELETE删除语法不提供删除条件则默认删除整张表中的数据
-
使用DELETE语法删除的数据如果有自增字段,那么被删除的自增数据不会再次被填充
还原数据表
TRUNCATE TABLE 表名
注意:
-
清空数据表中的数据可以使用
DELETE FROM 表名 或者 TRUNCATE TABLE 表名
DELETE整张表中的数据相当于将表中的数据直接全部删除,自增量属于表字段的特征不会被改变
TRUNCATE还原整张表,相当于将表格式化清空,里面的所有数据被清除,表的所有字段特征属性还原,数据表恢复到创建数据时的状态
-
以上的两种清空数据表中的数据都不会影响数据表对象本身,而使用DROP删除表则是将数据库中的这个数据表对象直接 删除不可恢复
-
TRUNCATE比DELETE执行速度快,TRUNCATE比DELETE使用的系统资源和事务日志资源更少
主键的选择
-
最少性原则:尽量选择单个键作为主键
-
稳定性原则:尽量选择数值更新少的字段作为主键
外键的选择
-
要求数据类型、数据长度必须对应的主键表字段完全一致
-
添加数据时,要首先添加从表中的主键字段,再添加主表中的外键字段
-
删除数据时,要首先删除外键表数据,再删除从表中的数据
完整数据库的创建
建库-->建表-->主键约束-->域的完整性约束-->外键约束
数据库创建好之后再考虑添加数据
插入数据的过程
验证主键、主外键关系、各种约束检查......--->插入成功