SQL入门经典3-8章节笔记

  • 数据库范式
    范式也叫规格化,规格化主要是去除冗余数据的指导方针。
    在原始数据库里有些数据会存在不同的表里,这样会造成安全和冗余和查询更新的性能低下。
    数据库的逻辑设计:根据外部实体和需求来设计,会存在数据冗余。
    规格化处理:
    第一范式:把原始数据分解到表里
    第二范式:提取仅对主键有部分依赖的数据,把它们保存在另一个表里。
    第三范式:删除表里不依赖于主键的数据。
    表与字段的命名保持规范。
    规格化的优点:组织性,降低冗余,数据库内部的一致性,灵活的设计,更好的处理安全问题,整体性。
    规格化的缺点:降低数据库的性能,要找到很多表拼凑结果,提交事务的时机,CPU,内存等等都有原因。
    尝试提高性能是进行去规格化数据库的唯一原因。
    但是去规格化又会造成数据冗余。需要找到一个平衡。

  • 操作数据
    三个基本的DML命令:
    INSERT UPDATE DELETE
    把数据插入到表-
    给表里指定列插入数据-
    从另一个表插入数据:
    insert into table_name (colum1,column2) select [* | column1,column2] from table_name [where]
    插入Null
    更新-
    删除-

  • 管理数据库事务
    事务是数据库的执行单位,事务是由DML完成的,一个事务可以是一跳或则多条DML语句。
    任何事务要么都执行,要么一条也不执行。
    事务都有开始结束,都可以保存和撤销,中途失败,则不会改变数据库任何地方。

事务控制:管理事务的能力。控制命令:COMMIT ROLLBACK SAVEPOINT

低劣的事务控制会降低数据库的性能,例如很多SQL一直没有COMMIT语句就会造成空间不足。COMMIT出现,回滚信息被清除。ROLLBACK会清除回退信息里的全部修改。

  • 数据库的查询
    select [* | all | distinct column1,column2] from table1,table2;
    all是所有,包括重复的,distinct可以去除重复的,不写默认情况下是包含重复的。可以用 distinct(column)书写不重复。

虽然一般不区分大小写,但是ORACLE还是会区分的,所以应该保持公司级别的大小写规范。

统计表里的记录数量count(*|column)

使用字段别名:例子:select user_name userName from user;这样输出的字段值是user_name名字是userName.重命名可以更好的在特定的显示中更好的描述返回的数据。

-排序:
默认是升序,select c1,c2,c3 from table order by 3,1先以c3升序,再一c1升序。

  • 使用操作符对数据进行分类:
    SQL操作符主要用在where字句里:比较,逻辑,求反,算术。

    相等-
    不等于: where salary <> ‘2000’ 表示薪水不等于2000
    大于和小于

逻辑操作符:
IS NULL : where salary is null
BETWEEN : between ‘2000’ and ‘3000’
IN : where id in (1,2,3,4)
LIKE : 通配符两个:% _
%代表零个一个或则多个字符,_代表一个数字或字符
EXISTS
UNIQUE
ALL 和 ANY
连接操作符:
AND
OR
求反操作符:
<> != NOTEQUAL
NOT BETWEEN
NOT IN
IS NOT NULL
NOT EXISTS
NOT UNIQUE
NOT LIKE
算术操作符:
+ - * /

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值