一.创建数据库关系图
生成数据库关系图
出现的报错:
解决:
二.数据的操作
1.添加数据
添加单行数据
INSERT [INTO] 目标表名 [(字段)] VALUES (字段对应的数据)
INSERT INTO Teacher([NAME],TEL,SUBID) VALUES ('张三',110,1)
使用这种插入语法必须要注意:必须要明确这张表中具有非空约束的字段是哪些
注意:
- 列名的个数必须和数据值对应
- 非数值类型的数据,必须放在单引号内
- 数据值的类型必须和定义的字段的数据类型保持一致
- 添加数据一定要注意数据表中的字段的各种约束问题,违反约束添加失败
- 这种添加数据的语法是只能添加一行数据
INSERT Teacher VALUES ('李四',1111111,2)
使用这种插入语法必须要注意:这张表里面的所有字段都必须为其提供对应的数据值除过自增列之外,而且数据值的顺序必须保持和数据表字段的顺序一致
添加多行数据
INSERT INTO [SUBJECT]
SELECT '.NET' UNION
SELECT 'WEB' UNION
SELECT 'JAVA' UNION
SELECT 'Python'
2.简单查询数据
SELECT <字段名> FROM 表名 [WHERE <查询条件>]
SELECT ID,[NAME] FROM TEACHER
注意:
- 在查询表的语法中不提供查询条件,则默认是查询整张表
- 在查询表的语法中提供了表中已有的部分字段,则查询结果中只会出现语法中提供的字段对应的数据,而且顺序和语法中字段的顺序一致
- 如果想要查询整张表的数据,则直接将字段名替换成一个“*”即可
SELECT * FROM TEACHER
--根据条件查询
SELECT * FROM TEACHER WHERE ID=10010
3.修改数据
UPDATE 表名 SET <字段名1=数据值1,字段名2=数据值2,……> [WHERE<条件>]
UPDATE TEACHER SET SUBID=6 WHERE ID=10002
注意:
修改语法中的条件可以不提供,如果不提供条件则默认将目标表中的指定的这个字段的所有数据全部进行修改
具体的修改方案可以根据实际情况的不同,去书写SQL语句
UPDATE TEACHER SET SUBID=6 WHERE ID=10002
UPDATE TEACHER SET SUBID=1,TEL=112233 WHERE ID=10000
UPDATE TEACHER SET SUBID=2 WHERE ID=10001
UPDATE TEACHER SET SUBID=3 WHERE ID=10009
UPDATE TEACHER SET SUBID=4 WHERE ID=10010 OR ID=10011
4.删除数据
DELETE FROM 表名 [WHERE 条件]
DELETE FROM TEACHER WHERE ID=10011
注意:
- 删除表中的数据不等于删除整张表所以删除不能用DROP
- 如果使用DELETE删除语法不提供删除条件则默认删除整张表中的数据
- 使用DELETE语法删除的数据如果有自增字段,那么被删除的自增数据不会再次被填充
5.还原数据表
TRUNCATE TABLE 表名
TRUNCATE TABLE TEACHER
注意
- 清空数据表中的数据可以使用
DELETE FROM 表名 或者
TRUNCATE TABLE 表名
DELETE整张表中的数据相当于将表中的数据直接全部删除,自增量属于表字段的特征不会被改变
TRUNCATE还原整张表,相当于将表格式化清空,里面的所有数据被清除,表的所有字段特征属性还原,数据表恢复到创建数据时的状态 - 以上的两种清空数据表中的数据都不会影响数据表对象本身,而使用DROP删除表则是将数据库中的这个数据表对象直接 删除不可恢复
- TRUNCATE比DELETE执行速度快,TRUNCATE比DELETE使用的系统资源和事务日志资源更少
总结
使用数据库管理系统软件操作数据基本上划分为两种操作:添加数据和查询数据
数据库的设计
牢记三大范式要求
主键的选择
- 最少性原则:尽量选择单个键作为主键
- 稳定性原则:尽量选择数值更新少的字段作为主键
外键的选择
- 要求数据类型、数据长度必须对应的主键表字段完全一致
- 添加数据时,要首先添加从表中的主键字段,再添加主表中的外键字段
- 删除数据时,要首先删除外键表数据,再删除从表中的数据
完整数据库的创建
建库–>建表–>主键约束–>域的完整性约束–>外键约束
数据库创建好之后再考虑添加数据
插入数据的过程
验证主键、主外键关系、各种约束检查......--->插入成功
来源:CSDN
作者:Dust_SongYunfei
链接:https://blog.csdn.net/dust__/article/details/104645397