SQL 数据库知识点回顾
SQL2008
一、安装注意事项:
1.修改用户权限(在一个安装页面中有七八个)(改成net.)
2.添加当前系统用户为账户
二、主键,约束,索引
三、增删改查;
insert、delete、update
select__*或者列名_____from 表where_______排序分组
逐条核对,符合条件的显示出来
语句执行过程:
先找到表,筛选行结束,排序,筛选列
首先执行“from表”,最后执行select_______.
聚合函数:最终查询的结果集,进行聚合操作。位于select和from中间,用了聚合函数后,不能再写其他列。聚合函数返回一行一列。
Count(*)、Sum(列名)、Avg、Max、Min
select sum(degree)(这里不能再加其他列Name等) from student where birthday=1990
数学函数:位于select和from中间或者where之后。
Round,Ceiling,Floor,ABS,Sqrt
select Ceiling(degree)from student where degree>95
日期时间函数:位于select和from中间或者where之后
DateAdd
字符串函数:substr,LTrim,RTrim
类型转换:Cast,Convert
Cast(列 as 类型)
Convert(类,列)
查询
子查询(查询的嵌套)通过某个查询,查询出一组列数据来作为当前查询的筛选条件
两个表Teacher Student
查某个老师教的所有学生
select * from student where Tno=001
查某个班所有老师教的所有学生。
select * from student where Tno in(select Tno from Teacher where Cno=001)
连接查询(多个表同时查询):横向查询(A表和B表)用where或Join连接表,用where(笛卡儿积)占用内存高
select * from Student Join Teacher on S.Tno=T.Tno
(没有同名列才能用*)
纵向连接:
select Name,Sex from Student
union
select Name,Sex from Teacher
注意两个表的列数据类型一致,顺序是随机的,查询结果的列名是Student的列名。
四、存储过程
Create Proc_______
参数
AS
过程
go
Exec 参数
declare:定义变量
if else Begin End
for
alter delete
五、视图
虚拟的表,更便捷、更直观显示某些需求数据(是在精巧、便捷设计数据库的基础上)
creat view 视图
As
查询语句,表连接
go
六、触发器
Trigger,某个操作一执行,引发触发器里的内容,一个特殊的存储过程(不通过Exec执行,通过对数据库的操作(增删改)引发执行)
分为两种:
for After
Instead of替换掉操作内容,执行触发器内容。
应用:
级联删除:Student中的teacher引用了Teacher表中的teacher。
自动添加:员工表新加一个员工,自动往用户表添加一个用户名和密码
七、事务:
Begin Tran
...
commit(所有步骤没有问题,统一提交)
RollBack(回滚:任何步骤出现问题,恢复起始状态,当作什么都没发生)
范例:银行转账
SQL:存储过程、事务、触发器不常用(易出问题、数据迁移不方便)
SQL 数据库知识点回顾的更多相关文章
- Java进阶(二十六)公司项目开发知识点回顾
公司项目开发知识点回顾 前言 "拿来主义"在某些时候并不是最佳选择,尤其是当自己遇到问题的时候,毫无头绪. 在一次实验过程中,需要实现数据库的CRUD操作.由于之前项目开发过程中, ...
- django知识点回顾与补充
一.django知识点回顾 1.Cookie操作 - 客户端本地存储的键值对 2.Session操作 - 3.URL路由 - /index -> view.函数 4.MTV 5.View中返回方 ...
- Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(一:知识点回顾)
一.知识点回顾 1.Mybatis环境搭建(DAO层的实现)(使用maven项目管理工具) 需要引入的依赖包: <!-- 单元测试junit --> <dependency> ...
- 面试前的准备---C#知识点回顾----03
经过一天的奔波,喜忧参半,不细表 再回看下标题,C#知识点回顾 再看下内容,数据库3NF 原谅我这个标题党 今天继续回忆 1.HTTP中Post和Get区别 这忒简单了吧,大家是不是感觉到兴奋了,长舒 ...
- SQL数据库知识二(Day 25)
又到了总结知识的时候了,今天主要把SQL数据库给简单的学完了,明天开始就要开始学ADO.NET的知识了.好了,话不多说,还是看一下今天都学了哪些内容. 1 字符串类型的知识点 --类型的使用 --截 ...
- SQL数据库的应用一(Day 24)
哈哈,又到了新的一周.我们也开始学习新的知识了,从今天开始学习SQL数据库的一些知识.今天主要讲了一些数据库.表的创建管理,和一些约束的定义使用.(这里使用的是SQL语句)下面我就具体总结一下. 总结 ...
- $Django Rest Framework-认证组件,权限组件 知识点回顾choices,on_delete
一 小知识点回顾 #orm class UserInfo (models.Model): id = models.AutoField (primary_key=True) name = models. ...
- Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...
- 讲解SQL数据库语句
前言 大家好,我是 Vic,今天给大家带来讲解SQL数据库语句的概述,希望你们喜欢 数据库语句 create database teach; use teach; create table `teac ...
随机推荐
- 【取对数+科学计数法】【HDU1060】 N^N
Leftmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- ASP.NET Signalr 2.0 实现一个简单的聊天室
学习了一下SignalR 2.0,http://www.asp.net/signalr 文章写的很详细,如果头疼英文,还可以机翻成中文,虽然不是很准确,大概还是容易看明白. 理论要结合实践,自己动手做 ...
- EF MySQL 提示 Specified key was too long; max key length is 767 bytes错误
在用EF的CodeFirst操作MySql时,提示 Specified key was too long; max key length is 767 bytes错误,但数据库和表也建成功了.有高人知 ...
- 【.NetRemoting-3】2015.09.18
[Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请 ...
- BZOJ 3368 约翰看山(扫描)O(N)
这题,简直丧心病狂了. 大意是给你一个环上一些覆盖的区间,让你求总覆盖长度. 非常坑的点是这个区间因为是个环,所以可能逆时针给你,也可能顺时针给你,你特别要注意.那么区分顺时针和逆时针的方法 就是,题 ...
- oracle中闪回错误的dml操作原理
原理: Oracle根据还原表空间信息,利用还原表空间中的数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 删除删除错误的dml操作的oracle的前提准备: 一 ...
- 【典型错误】The type java.lang.Object cannot be resolved.
参考:http://blog.csdn.net/wo519074786/article/details/7697967 The type java.lang.Object cannot be reso ...
- jQuery 方法
方法 描述 animate() 对被选元素应用"自定义"的动画 clearQueue() 对被选元素移除所有排队函数(仍未运行的) delay() 对被选元素的所有排队函数(仍未运 ...
- 转——iptables详细配置
基本原理及命令使用 http://my.oschina.net/hevakelcj/blog/313212 基础知识 Linux系统内核内建了netfilter防火墙机制.Netfilter(数据包 ...
- C语言基础11
函数指针的定义: 函数类型 (标识符 指针变量名)(形参列表) void printHello( ); void printHello( ){ printf("hello world!!! ...