关于数据库总结1

本文详细介绍了数据库的概念、SQL语言的核心操作,包括创建、删除、查询、约束和事务管理,以及多表联查技巧,适合数据库初学者和开发者深入理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.服务器端与客户端,什么是数据库

数据库:管理数据的仓库

服务器端:正在存数据的地方

客户端:链接服务器,操作服务器中的数据CRUD

结构:

数据库---->表------>数据(有行有列)

DML:数据库操纵语言

DDL:数据库定义语言

DCL:数据库控制语言

DQL:数据库查询语言

SQL:结构化查询语言

2.数据库常用操作

show databases ;展示所有数据库

create database cgb2110 default character set utf8 ;创建数据库

drop database cgb2110;删除数据库

use cgb2110;使用数据库

show tables;展示所有表

create table 表名 (字段1(名称 类型(n),字段2);创建表

3.表的常见操作

alter table 表名 add column 字段1;添加列

insert into 表名 values(对应字段的值);插入

update 表名 set 字段=??;更新修改对应字段的值

delete from 表名;删除表里面的数据

4.字符

char:长度固定,可能造成空间浪费,空间空格填充

varchar:长度可变,节省空间,空间给其他字符使用

5.字段约束

set names gbk;创建表时解决中文乱码

unique;唯一约束,字段的值必须唯一不能重复

not null;非空约束,约束字段的值不能为null

primary key auto-increment;主键约束:唯一且不为空,且自增

6.条件查询

1.distinct;去除重复的记录行

SELECT loc FROM dept;

SELECT DISTINCT loc FROM dept;

2.where:注意where中不能使用列别名!!

3.like:模糊查询%

7.delete  drop 和truncate之间的区别?

drop删除数据库或表,数据和结构定义

delete truncate 只删除表的数据

delete可以指定where条件,删除满足条件的记录,tuncate删除所有记录

对于自增字段的表,delete不会自增值清零,而truncate是把表记录和定义都删除了,然后重建表的定义,所以自增主键会重头开始计数

8.什么是事物?

单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行,用来保证多条sql,要么全成功,要么全失败。

事物的四个特性:

原子性:一个事物中的所有操作,要么完全执行,要么完全不执行。

持久性:事物处理结束后,对数据的修改是永久的。

一致性:写入的资料必须符合预设规则,事物开始之前和结束以后,数据库的完整性没有被破环

隔离性:数据库允许多个并发事物同时对数据进行修改和读写。

隔离级别:

读未提交:安全性最差,可能发生并行数据问题,性能最好

读提交:Oracle的默认隔离级别

可重复读:Mysql的默认隔离级别,安全性好,性能一般

串行化:表级锁,读写都加锁,安全性较高,效率低,不能并发

9.多表联查

1.笛卡尔积

select * from 表名1,表名2 where 表名1.字段a=表名2.字段a

2.链接查询join 

多表之间用join连接,用on来描述两张表的关系

left join 左连接:取到左表所有和右表满足条件的,不满足的用null填充

小表驱动大表:左表简单,右表复杂

1select * from 2dept left join 3emp on 4dept.deptno=emp.deptno

高效: 2  4  3  1

3.子查询:嵌套查询

select 要查询的内容 from A where a=(select a from B where ---条件)

如果子查询返回多行结果,此时需要用in

10.SQL的执行顺序

(1) FROM [left_table] 选择表
 
(2) ON <join_condition> 链接条件
 
(3) <join_type> JOIN <right_table> 链接
 
(4) WHERE <where_condition> 条件过滤
 
(5) GROUP BY <group_by_list> 分组
 
(6) AGG_FUNC(column or expression),... 聚合
 
(7) HAVING <having_condition> 分组过滤
 
(8) SELECT (9) DISTINCT column,... 选择字段、去重
 
(9) ORDER BY <order_by_list> 排序
 
(10) LIMIT count OFFSET count; 分页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值