数据库系统原理
文章平均质量分 61
INGg__
双非ACM打铁选手,数据科学与大数据专业在读
展开
-
PLSQL编程 (期末考试用)
PL/SQL程序结构目的:实现复杂的业务逻辑基本结构基本结构:块块与块之间可以可以相互嵌套块包括:声明部分,执行部分,异常处理部分声明部分:用于定义常量、变量、游标、异常和复杂数据类型等;执行部分:用于实现应用模块功能,该部分包含需要执行的PL\SQL语句和SQL语句;异常处理部分:用于执行部分可能出现的运行错误。基本语法declare -- 有变量声明的时候写;-- 声明-- 变量 变量名 数据类型; (直接赋值)变量名 数据类型:=值;-- 常量 名 co原创 2021-07-11 16:32:16 · 277 阅读 · 2 评论 -
SQL查询疑难整理
利用Teach数据库中的现有的表生成新表S_avg,新表中包括学号、姓名和平均成绩,其中平均成绩保留一位小数create table S_avg asselect students.sno, Sname, round(avg(Score), 1) Avgscorefrom student, scwhere student.sno = sc.sno and score is not nullgroup by student.sno, snameorder by student.sno查询.原创 2021-06-30 23:53:24 · 2405 阅读 · 0 评论 -
MySQL外键设置例子
create table if not exists attribute( school_id int primary key auto_increment not null, f985 int not null, f211 int not null, f11 int not null, nature_name varchar(50), type_name varchar(50), level_n原创 2021-06-30 10:15:50 · 158 阅读 · 0 评论 -
JDBC连接建立及操作
首先要根据在本机所安装的MySQL版本来下载所依赖的包https://mvnrepository.com/artifact/mysql/mysql-connector-java try { // 加载驱动类 Class.forName("com.mysql.jdbc.Driver"); // 建立连接 Connection conn = DriverManager.get原创 2021-06-01 09:30:31 · 193 阅读 · 0 评论 -
1.数据库概述
三代演变:层次/网状系统、关系型系统、后关系型数据库1.1数据与信息数据数据描述现实世界中各种具体实物或抽象概念的、可存储并具有明确意义的符号记录对数据的解释称为语义,数据与语义是不可分的(一组数据不同的语义所带来的意义是完全不同的)信息数据的内涵,数据的语义解释数据处理就变成了信息数据处理对数据的收集、存储、分类、加工、检索、维护等一系列活动目的:从大量的原始数据中抽取和推导出游价值的信息数据管理技术的发展概述三个阶段:人工管理文件系统数据库系统发展动力:应原创 2021-03-10 18:38:50 · 242 阅读 · 1 评论 -
2.关系数据库概论
2.1 关系的形式化定义及有关概念2.1.1 关系的形式化定义域相同数据类型的值的集合(D),又称值域;ex:字符串集合,整数集合包含的值的个数称为基数D = {32,41,38},基数m = 3笛卡尔积任意一组域D1,D2…,Dn,他们中可以有相同的域。他们的笛卡尔积为D1∗D2∗D3∗⋯∗Dn=(d1,d2d,⋯ ,dn)∣di∈DiD1 * D2 * D3* \cdots *Dn = {(d1, d2d, \cdots,dn) | d_i \in D_i}D1∗D2原创 2021-03-24 18:05:58 · 439 阅读 · 0 评论 -
MySQL基本语句
注意sql语言的书写规范对一个数据库进行操作,首先要选择它USE sql_store之后可以选择想要展示的列或全部*来进行展示,运用select语句 SELECT * FROM customers; SELECT custom_id, first_name FROM customers;FROM选择的是一个数据库中的表,我们要展示的就是某个表中的一列WHERE语句可用来数据筛选和排序,并且里面用比较运算符来进行判断,得益于sql的易学性(可能是),在等于判断的时候不是编程语言的双等于而是单原创 2021-04-07 16:55:36 · 112 阅读 · 0 评论 -
02 MySQL连接操作
在应用中查询往往设计到多个表;连接就实现了多表查询连接操作在前面原理部分中提到了连接操作有好多种:等值连接非等值连接查询外连接(左,右自身连接等值连接与非等值连接表名1.列名 比较运算符 表名2.列名运算符: > < = >= <= != <> BETWEEN...AND=就是等值连接SELECT Student.*, SC.* FROM Student, SC WHERE Student.Sno = SC.Sno其他的就是非等值内连接原创 2021-04-26 10:45:24 · 139 阅读 · 0 评论 -
03 MySQL聚合函数及相关语句
聚合函数在mysql里面有一些自带的函数供我们对数据进行聚合并导出一个单一值例如:MAX() MIN() AVG() SUM() COUNT()select MAX(invoice_total)from invoices注意,聚合函数只运行非空值;若存在空值在列中,聚合函数并不会计算对于函数内的,也可以是表达式,聚合函数运行的顺序是先运行括号里的表达式,再根据函数的意义来进行操作如果采用了对数据进行筛选,那么首先会对数据进行筛选,之后再对数据进行函数运算GROUP BYGROUP BY原创 2021-05-10 10:38:08 · 285 阅读 · 0 评论 -
04 MySQL插入
单行插入insert intoinsert into 表values ()insert into customersvalues ( default, 'John', 'Smith', '1990-01-01', null, 'address', 'city', 'CA', default)insert into 表 (想要插入的列)values ()insert into customers ( fir原创 2021-05-10 10:39:08 · 344 阅读 · 0 评论 -
05 MySQL编写复杂查询
本章本质上是对表进行嵌套查询文章目录子查询INALLANY相关子查询EXISTSSELWCT中的子查询FROM中的子查询子查询本质是对表的嵌套查询看例子就明白了select*from productswhere unit_price > ( select unit_price from products where product_id = 3)-- 我们要选择id为IN我们可以-- 选取没有发票的人use sql_invoicing;select n原创 2021-05-18 13:48:25 · 305 阅读 · 0 评论 -
06 MySQL内置函数
文章目录数学函数roundTRUNCATECEILINGFLOORABSRAND字符串函数LENGTHUPPER LOWERTRIMLEFT RIGHTSUBSTRINGLOCATECONCAT日期函数NOWCURDATECURTIMEYEAR DAY ....IFCASE……WHEN……THEN……ELSE……END数学函数round四舍五入 round(6.73)设置高度round(6.73, 1)保留一位四舍五入TRUNCATE截断数字,精度同上CEILING向上取整,方法同上FLO原创 2021-05-18 13:49:01 · 139 阅读 · 0 评论 -
07 视图
视图:可以把一些查询或者子查询存到视图里,方便以后的查询文章目录创建视图修改视图删除重建直接修改保存视图可更新视图WITH CHECK OPTION视图优点创建视图CREATE VIEW 视图名 AS........ (sql语句)在创建好视图后,是可以把它当做普通的表格来进行处理操作的注意:视图不存储数据,数据存在于表中修改视图删除重建DROP VIEW 视图名;CREATE VIEW 视图名 AS直接修改CREATE OR REPLACE VIEW 视图名 AS保存视图原创 2021-05-18 18:44:41 · 56 阅读 · 0 评论 -
08 MySQL存储过程
文章目录什么是存储过程创建存储过程调用存储过程删除存储过程参数默认参数参数验证输出参数变量用户定义变量本地变量函数创建函数使用函数删除什么是存储过程存储过程是一个包含一堆SQL代码的数据库对象,可以在我们编写其他语言程序的时候回,我们可以调用这些过程来获取或保存数据;使用存储过程来存储和管理SQL代码还可以使得在其他语言的函数中不必编写SQL语句,使得代码更加简洁还有就是存储在数据库中的存储过程的代码DBMS可以对其进行一定的优化,使得访问效率提高当然还能增强安全性存储过程思想上很简单,就是数据库原创 2021-05-21 12:47:34 · 405 阅读 · 0 评论 -
09 MySQL触发器
文章目录什么是触发器创建触发器查看触发器删除触发器使用触发器进行审计事件查看删除更改事件查看删除更改什么是触发器触发器是在插入、更新、删除前后自动执行的一堆代码通常用来增强数据的一致性创建触发器delimiter $$create trigger 触发器名 after/before insert/delete/ on 表名 for each row(触发器级别)beginend $$delimiter ;其他可能用到的关键字NEW:返回更新后的行以及相对应的数值OLD:返回更新前原创 2021-05-24 10:43:32 · 238 阅读 · 0 评论 -
10 事务
事务什么是事务?事务是代表单个工作单元的一组SQL语句,这些语句要么全做要么全不做如果其中一个失败就不称为事务如果某一个失败,我们就要还原之前操作进行的变动事务的ACID特性:原子性。事务是数据库的逻辑工作单位,是不可分割的工作单元(即要么全做要么全不做)一致性。事务执行结果必须是使数据库从一个一致性的状态变到另一个一致性状态。一致性状态是指数据库中只包含成功事务提交的结果;不一致状态是指数据库中包含失败事务提交的部分结果隔离性。一个事务不能被其他事务干扰。即一个事务内部的操作以及使用的数原创 2021-05-26 10:56:43 · 676 阅读 · 0 评论 -
11 MySQL数据类型
概述MySQL中有几类数据类型:字符串数值日期BLOB(存储二进制的)空间类型(存储几何或者地区值)字符串char()来存储固定长度的字符串varchar()来存储可变长度的字符串,最大长度65535,再长会被阶段mediumtext适合存储更长的值,最多1600w字符左右,对存储json、scv字符串和短中长度的书longtext,4G大小中文占3字节,英文占1字节整数类型tinyint [-128, 127]unsigned tinyint 无符号[0, 255]sm原创 2021-05-26 11:33:20 · 91 阅读 · 0 评论