IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> QT 数据库学习笔记(一)数据库基本概念 -> 正文阅读

[大数据]QT 数据库学习笔记(一)数据库基本概念


QT 其它文章请点击这里: ????QT 学习笔记

在这里插入图片描述


一、概念

● 数据库 DB(DataBase)

就是存放数据的仓库,其特点是数据按照数据模型组织,是高度结构化的,可供多个用户共享并且具有一定的安全性。

● 数据库管理系统 DBMS(DataBase Management System)

它是位于用户应用程序和操作系统之间的数据库管理系统软件,其主要功能是组织、存储和管理数据,高效地访问和维护数据,常用的DBMS有Oracle、Microsoft SQL Server和MySQL等。

● 什么是SQL语言?

????结构化查询语言(Structured Query Language,SQL)是用于关系数据库操作的标准语言,

● SQL 三部分的组成

1)、数据定义语言(Data Description Language,DDL),数据定义语言DDL用来创建、删除、修改数据库中的各种对象-----表、视图、索引、同义词、聚簇等

Create database : 创建数据库
Alter database : 修改数据库
Create table :   创建新表
Alter table :    变更(改变)数据库表
Drop table :     删除表
Create index :   创建索引(搜索键)
Drop index :      删除索引

2)、数据操纵语言(Data Manipulation Language,DML),用于操纵数据库中各种对象,检索和修改数据

Select :		从数据库表中获取数据
Update :		更新数据库中的数据
Delete :		从数据库表中删除数据
Insert into :	向数据库中插入数据

3)、数据控制语言(Data Control Language,DCL)用于安全管理,确定哪些用户可以查看或修改数据库中的数据

① 授权

GRANT:  授权

② 回滚

ROLLBACK [WORK] TO [SAVEPOINT]:  回退到某一点。

SQL>ROLLBACK;    					回滚命令使数据库状态回到上次最后提交的状态。

③ 提交

COMMIT [WORK]:提交。

● 显式提交,用COMMIT命令直接完成的提交为显式提交。
SQL>COMMIT;

● 隐式提交,用SQL命令间接完成的提交为隐式提交。
ALTER,AUDIT,COMMENTCONNECTCREATE,DISCONNECT,DROPEXITGRANT,NOAUDIT,QUIT,REVOKERENAME。

● 自动提交,若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后, 系统将自动进行提交,这就是自动提交。
SQL>SET AUTOCOMMIT ON

● 数据库表

一个数据库通常包含一个或多个表。每个表有一个名字标识,表包含带有数据的记录(行),如下:
在这里插入图片描述
● QtSql模块层次结构
在这里插入图片描述
● Qt5数据库驱动

Qt SQL模块使用数据库驱动来和不同的数据库接口进行通信。由于Qt的SQL模型的接口是独立于数据库的,所以所有数据库特定的代码都包含在了这些驱动中。Qt现在支持的数据库驱动如下图所示。
在这里插入图片描述

二、数据操纵语言DML(增删查改)

1. 增(INSERT)

● INSERT 语法

语法1:

INSERT INTO target [IN externaldatabase] (fields_list)		
{DEFAULT VALUES|VALUESDEFAULT|expression_list)}		    

语法2:

INSERT INTO target [IN externaldatabase] fields_list
{SELECT|EXECUTE…}

● 实例

insert into teacher values(,’allen’,'大连一中’,'1976-10-10);
insert into student values(1,'张三',21)

2. 删(DELETE)

● DELETE 语法

DELETE FROM table_names
[WHERE]

● 实例

① 从 students 表中删除姓名为 “罗亮” 的记录:

DELETE FROM students WHERE name = '罗亮'

② 从 students 表中删除ID为 “3” 的记录:

delete from students where id = 3

3. 查(SELECT )

● 完整的SELECT语法

SELECT [DISTINCT] [别名.]字段名或表达式 [AS 列标题]   /* 指定要选择的列或行及其限定 */				
FROM  table_source                                 /* FROM子句,指定表或视图 */
[ WHERE  search_condition ]                	       /* WHERE子句,指定查询条件 */
[ GROUP BY group_by_expression ]                   /* GROUP BY子句,指定分组表达式 */
[ ORDER BY order_expression [ ASC | DESC ]]        /* ORDER BY子句,指定排序表达式和顺序 */

● 实例

① 查询Student数据库。查询 students 表中各个同学的姓名和总学分。

USE Student SELECT name,totalscore FROM students

② 查询表中所有记录。查询students表中各个同学的所有信息,用得最多

SELECT * FROM students

③ 条件查询。查询students表中总学分大于等于120的同学的情况。

SELECT * FROM students WHERE totalscore >=  120

④ 条件查询&获取院系名字和总分。查询students表中总学分大于等于120的同学的情况。

SELECT department,name,totalscore FROM students WHERE totalscore >=  120

⑤ 多重条件查询。查询students表中所在系为“计算机”且总学分大于等于120的同学的情况。

SELECT * FROM students WHERE department='计算机' AND totalscore >= 120

⑥ 使用LIKE谓词进行模式匹配。查询students表中姓“王”且单名的学生情况。

SELECT * FROM students WHERE name LIKE '王_'

4. 改(UPDATE)

● UPDATE 语法

UPDATE table_name
SET Field_1=expression_1[,Field_2=expression_2…]
[FROM table1_name|view1_name[,table2_name|view2_name…]]
[WHERE]

其中,Field 是需要更新的字段,expression 表示要更新字段的新值表达式。

● 实例

① 将计算机系学生的总分增加10:

UPDATE students 
SET totalscore = totalscore + 10 
WHERE department = '计算机'

② 将ID为2的学生的名字改为 “小明”:

update students 
SET name = '小明' 
WHERE id = 2

QT 其它文章请点击这里: ????QT 学习笔记

参考: QT/C++基础与提高系列之QT中级篇系列视频课程

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:27:20  更:2021-10-28 12:27:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:08:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码