全栈面试题】模块5-1】Oracle/MySQL 数据库基础

目录

面试题5.1 Oracle和Mysql的区别?

面试题5.2 SQL语句有多少类型

面试题5.3 mysql常用数据类型、oracle常用数据类型

面试题5.4 char、varchar2、varchar有什么区别?

面试题5.5 什么是BLOB、CLOB?MySQL的Text类型了解过吗

面试题5.6 null的含义

面试题5.7 数据库三范式是什么?

面试题5.8 主键和外键的区别?

面试题5.9 如何设置主键自动增长?

面试题5.10 Oracle中序列的作用

面试题5.11 update语句可以修改结果集中的数据吗?

面试题5.12 drop、truncate、 delete区别

面试题5.13 MySQL、Oracle写出字符存储、字符串转时间

面试题5.14 说说常用的函数,分别介绍


面试题5.1 Oracle和Mysql的区别?

【技术难度:     出现频率:  】

第一层:

  1. Oracle用表空间来管理表,Mysql用来管理表。
  2. mysql用limt做分页、支持主键自增长(`auto_increment`),oracle用rownum做分页、通过序列(sequence)达到自增效果。
    create sequence ms start with 1 increment by 1; 
    -- 在插入数据时,可以直接在INSERT语句中使用序列的NEXTVAL来获取下一个值,并将其作为自增字段的值插入到表中。
    -- 例如:
    INSERT INTO table_name (id, name) VALUES (my_sequence.NEXTVAL, 'John Doe');
  3. 库函数不同、SQL语法、功能语句不同。
  4. Oracle的事务隔离级别默认是读已提交,MySQL是可重复读。
  5. Oracle的事务默认是不开启自动提交,MySQL默认是开启自动提交的。
  6. Oracle中没有if exists,if not exists的语法,MySQL有。

第二层:

第3点展开说是这样:

库函数不同,比如:滤空函数在Oracle中是NVL(列名,覆盖值),而MySQL中是IFNULL(列名,覆盖值)

SQL语法不同,比如:Oracle中没有if exists,if not exists的语法,MySQL有。

功能语句不同,比如:显示当前所有的表、用户、改变连接用户、显示当前连接用户、执行外部脚本等语句不同。

面试题5.2 SQL语句有多少类型

【技术难度:     出现频率:  】

第一层:

SQL语句分五类:DDL数据定义语言、DML数据操控语言、DQL数据查询语言、DCL数据库控制语言、TCL事务控制语言。

第二层:

它们分别包括以下内容:

  1. DDL(Data Definition Language)数据定义语言,用于操作表结构等,包括create创建、drop删除、alter修改、truncate截断
  2. DML(Data Manipulation Language)数据操控语言,用于操作表中数据,包括insert插入、delete删除、update更新;
  3. DQL(Data Query Language)数据查询语言,用于查询,包括select查询;
  4. DCL(Data Control Language)数据库控制语言,用于设定用户权限,包括grant授权、revoke撤销;
  5. TCL(Transaction Control Language)事务控制语言,用于控制事务,包括commit提交、rollback回滚。

第三层:

再详细说每个语的句功能的话是这样:

DDL(Data Definition Language)数据定义语言:

  1. Create语句,可以创建数据库和数据库的一些对象;
  2. Drop语句,可以删除数据表、索引、触发程序、条件约束以及数据表的权限等;
  3. Alter语句,修改数据表定义及属性;
  4. Truncate语句,删除表中的所有记录,包括所有空间分配的记录被删除。

DML(Data Manipulation Language)数据操控语言: 

  1. Insert语句,向数据表张插入一条记录;
  2. Delete语句,删除数据表中的一条或多条记录,也可以删除数据表中的所有记录,但是它的操作对象仍是记录;
  3. Update语句,用于修改已存在表中的记录的内容。

DQL(Data Query Language)数据操控语言: 

  1. Select语句,用于查询已存在表中的记录的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烛火萤辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值