网站首页 > 教程文章 正文
什么是SQL?
结构化的查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。
作用是用于存储数据、查询、更新和管理关系型数据库
SQL中的约束有哪几种?
1、非空约束 not null。用来控制字段中的值不能为空(null)
2、唯一约束 unique 。用来控制字段中的值唯一,不允许重复
3、主键约束 primary key。用来唯一的标识某个列,不允许为空,不允许重复
4、外键约束 foreign key。用来对应参照完整性,建立两个表之间的链接关系。
5、默认约束 default 。用来指定某个列的默认值。
drop、delete、truncate的区别
drop | delete | truncate | |
类型 | DDL | DML | DDL |
回滚 | 不可回滚 | 可回滚 | 不可回滚 |
删除 内容 | 删除表、删除库 删除表结构 | 删除表中的数据 保留表结构 | 删除表中所有数据 保留表结构 |
varchar(20)中的20代表什么意思?int(20)中的20代表什么意思?
varchar(20)表示最多可以存放20个字符
int(20)表示最大显示宽度为20,但是在内存中只占4个字节
索引的优点有哪些?缺点有哪些?
优点:
1、加快查询数据的查询速度
2、提高系统的性能
缺点:
1、在创建索引和维护索引时需要耗费大量的时间成本
2、索引会占用物理存储空间
事务的4大特性有哪些?
1、原子性。它是事务的最小执行单位,不可以再分割。用来保证一组动作要么都执行,要么都不执行。
2、一致性。一组事务执行的前后数据必须保持一致。
3、隔离性。多个用户同时访问数据库时,每个用户的事务不被其他用户的事务干扰。
4、持久性。当事务被提交以后,其对数据的修改是持久保存的,不被其他任何问题影响。
什么是死锁?如何处理死锁?
死锁是指两个或两个以上的进程在执行过程中,因为竞争共享资源而造成的互相等待的现象。
为了避免出现死锁现象,可以设置超时时间,即超时后自动释放掉。也可以发起死锁检测,将其中的一个事务进行回滚,让其他事务正常执行。
什么是3范式?
第一范式指的是数据库表中的任意属性都具有原子性,不可以进行分割
第二范式指的是对记录的唯一性约束,要求记录要有唯一标识
第三范式指的是对字段冗余性的约束,即要求字段没有冗余
视图的优点和缺点有哪些?
优点
1、数据简单化,所见即所得
2、保证安全性,用户只能查看或修改他们能够看到的数据
3、独立性,用来屏蔽真实表中结构变化带来的影响
缺点:
1、使用过程相对复杂,性能相对较差
2、修改不方便
char类型和varchar类型的区别有哪些?
1、char类型的长度一旦确定则不可以发生改变,varchar可以改变
2、char类型的数据如果字符长度比声明的长度小,那么会使用空格进行补位;
varchar类型的数据如果字符的长度比声明的长度小,那么会自动变成实际的字符长度
3、char类型数据方便存储和查询,操作速度比varchar要快,但是牺牲了空间。varchar正好相反,节省空间,但是效率没有char类型高
- 上一篇: 利用Oracle触发器实现不同数据库之间的数据同步
- 下一篇: MySQL日志篇(mysql日志详解)
猜你喜欢
- 2025-05-10 金仓数据库日志大揭秘:WalMiner工具实战全解析
- 2025-05-10 十年之重修MySQL原理(十年之重修mysql原理是什么)
- 2025-05-10 值得收藏的Oracle数据库性能优化(oraclesql性能优化)
- 2025-05-10 MySQL锁机制:从表锁到MVCC,一场数据库的“锁”事大戏
- 2025-05-10 MySQL日志篇(mysql日志详解)
- 2025-05-10 利用Oracle触发器实现不同数据库之间的数据同步
- 2025-05-10 Spring 云微服务的组件测试(spring cloud微服务组件)
- 2025-05-10 GaussDB关键技术原理|高可用:逻辑复制
- 2025-05-10 一文了解MySQL Binlog(一文了解太空安全有多重要)
- 2025-05-10 SQL审核平台——Yearning(sql审核工具)
- 05-11阿里开源MySQL中间件Canal快速入门
- 05-11MyBatis插件开发实战:手写一个分页插件
- 05-11Flask数据库——SQLAlchemy
- 05-11MySQL 到 Hazelcast Cloud 实时数据同步实操分享
- 05-11sqlmap 详解
- 05-11一篇文章让你学会Elasticsearch中的查询
- 05-11Mysql性能优化这5点你知道吗?简单却容易被初学者忽略!
- 05-11Spring Boot 实现 MySQL 读写分离技术
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)