Java基础题: Mysql数据库相关

Ⅰ:视图
在这里插入图片描述
来源:牛客网

Ⅱ:DATEADD
在这里插入图片描述
DATEADD() 函数在日期中添加或减去指定的时间间隔。
语法

DATEADD(datepart,number,date)
  • datapart参数的取值范围是:
    {yy/yyyy,qq/q,mm/m,dy/y,dd/d,wk/ww,dw/w,hh,mi/n,ss/s,ms,mcs,ns}

  • number 是您希望添加的间隔数

  • date 参数是合法的日期表达式

来源:牛客网

Ⅲ:HAVING
SQL 查询语句中 WHERE 、 GROUP BY 、 HAVING 这些关键字区别和用法总结错误的是()

A. HAVING在查询语句中必须依赖于GROUP BY
B. WHERE子句用来限制SELECT语句从表中指定选取的行
C. GROUP BY子句用来分组WHERE子句的输出结果集
D. HAVING子句用来从分组的结果中筛选列

HAVING子句在分组时用来筛选行。
来源:牛客网

Ⅳ:关系数据库的数据存放形式
在这里插入图片描述
二维表:每一行对应一条记录,每一列对应(实体/关系)一项属性

Ⅴ:
在这里插入图片描述
A: *多行,sum一行
B:stu_id多行,sum一行
C:正确的删除为delete from score 不需要加*
来源:牛客网

Ⅵ:mysql_num_fields()
在这里插入图片描述
mysql_num_fields() 函数返回结果集中字段的数。id name age

Ⅶ: join
在这里插入图片描述
自关联时。只需要一张表。

Ⅷ:数据库.表名
在这里插入图片描述
删除表首先得确定是哪个数据库的,drop table 数据库名.表名或者先选定数据库后删除使用drop table 表名

Ⅸ:
在这里插入图片描述
if(条件exp,表达式1,表达式2) 如果(exp不等于0且exp不为空),条件成立(true)执行表达式1,否则,执行表达式2.

这里exp为值-1,条件成立执行表达式1,所以返回值为5。

来源:牛客网

Ⅹ:MYSQL用到的通讯协议
在这里插入图片描述
MySQL实现了四种通信协议:

TCP/IP协议,通常我们通过TCP协议来连接MySQL

Unix Socket协议,这个通常我们登入MySQL服务器中使用这个协议,因为要使用这个协议连接MySQL需要一个物理文件,文件的存放位置在配置文件中有定义。

Share Memory协议,只有windows才可以用,使用这个协议需要在配置文件中在启动的时候使用–shared-memory参数,注意的是,使用此协议,一个host上只能有一个server,所以这个东西一般没啥用的。
Named Pipes协议,这个协议也是只有windows才可以用,Named Pipes 是为局域网而开发的协议。

来源:牛客网

十一:排他锁
在这里插入图片描述

共享锁【S锁】
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

来源:牛客网

十二:插入数据权限
在这里插入图片描述

grant select,insert on userdb.userinfo to 'zhangsan'@'localhost'

十三:原子性
在这里插入图片描述
原子性:事务是一个不可分割的整体,为了保证事务的总体目标,事务必须具有原子性,即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成,避免了只执行这些操作的一部分而带来的错误。原子性要求事务必须被完整执行。

一致性:一个事务执行之前和之后,数据库数据必须要保持一致性状态。数据库的一致性状态应该满足模式锁指定的约束,那么在完整执行该事务后数据库仍然处于一致性的状态。为了维护所有数据的完整性,在关系型数据库中,所有规则必须应用到事务的修改上。数据库的一致性状态由用户来负责,由并发控制机制实现。例如银行转账,转账前后两个账户金额之和应保持不变。由此并发操作带来的数据不一致性包括丢失数据修改、读脏数据。不可重复读、产生‘幽灵’数据。

隔离性:隔离性也被成为独立性,当两个或多个事务并发执行时,为了保证数据的安全性,将一个事物内部的操作与事务的操作隔离起来,不被其他正在执行的事务看到。

持久性:持久性也被成为永久性,事务完成之后,DBMS保证它对数据库中的数据的修改是永久性的,当系统或介质发生故障时,该修改也永久保持。持久性一般通过数据库备份与恢复来保证。

来源:牛客网

十四:
以下哪一句从表TABLE_NAME中提取前10条记录?
A select * from TABLE_NAME where rowcount=10
B select TOP 10 * from TABLE_NAME
C select TOP of 10 * from TABLE_NAME
D select * from TABLE_NAME where rowcount<=10

Sql server: select TOP N * from table_name.
MySQL: select * from table_name limit 0,10;
Oracle: select * from table_name where rownum<=10

来源:牛客网

十五:通配符查找速度慢

假设身份证表中含有百万级的数据,其中身份证字段card_num上创建了唯一索引,且我们假设身份证全部由数字组成,要统计开头为100的身份证号码的数量,下面写法执行速度最慢的是 (A)

A select count() from card where card_num like ‘100%’ ’
B select count(
) from card where substr(card_num,1,3) = ‘100’
C select count(*) from card where card_num>=‘100’ and card_num < ‘100a’
D 一样快

SUBSTR函数是用来截取数据库某一列字段中的一部分。
SBUSTR(str,pos); 从pos开始的位置,一直截取到最后。
通配符查找最慢 %是个多字符通配符

来源:牛客网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值