做视频网站视频存放在哪里,惠州地区网站建设公司,邹平县建设局网站,h5app一#xff0e;DBMS 是什么
DBMS#xff08;Database Management System#xff09;,数据库管理系统#xff0c;是一种操纵和管理 数据库的大型软件#xff0c;用于建立、使用和维护数据库。对数据库进行统一的管理和 控制#xff0c;以保证数据库的安全性和完整性。
二…一DBMS 是什么
DBMSDatabase Management System,数据库管理系统是一种操纵和管理 数据库的大型软件用于建立、使用和维护数据库。对数据库进行统一的管理和 控制以保证数据库的安全性和完整性。
二、实体和实体之间的关系有哪些外键上应该如何体现
一对一外键字段放在使用频率高的表上比如一个用户对应一个病人信息 一个病人对应一个用户
一对多外键字段放在多的一方比如一个班级对应多个学生
多对多建在关系表中比如一个学生可以选择多个课程一个课程可以被 多个学生选择学生和课程之间就是多对多
三、 数据库三大范式是怎么样的
第一范式 每列保证原子性属性不可分割每个属性都是不可分割的原子项
第二范式 首先满足第一范式 必须要有一个主键 如果主键是复合主键除了主键以外的其他列必须完全依赖于主键列 不能只依赖主键的一部分
第三范式 满足第二范式 除了主键以外的其他列必须直接依赖于主键不能间接依赖于主键
四什么样的列适合建立主键 选择尽量更新少的列作为主键尽量选择没有业务含义的列作为主键 一个表只有一个主键约束但主键约束可以使组合键但组合键尽量少用 主键不能为 null
五、主键约束和唯一约束有什么区别
1同一张表可以有多个唯一约束但只能有一个主键
2主键字段不能为 null但唯一约束可以为 null
3主键字段可以作为其他表的外键但唯一约束字段不可以作为其他表的 外键。
六TRUNCATE TABLE 和 delete from 有什么区别 1
1.语句格式 Delete From: Delete from 表名where 条件 Truncate table:truncate table 表名
2删除表数据不同 Delete from可以删除整张表数据或删除指定条件的记录行 Truncate table只能删除整张表数据不能删除指定的行
3.释放空间不同
delete from删除数据后不会释放表所占用的内存空间删除后可撤销,删除操作会做日志记录
Truncate table删除数据后会释放表占用的内存空间删除后不可撤销删除操作不会记录日志
4.执行速度不同 Delete from速度慢 Truncate table速度快
七、sql 语句的分类有哪些
1DQL数据查询语言select
2DML数据库操作语言 insert、delete、update
3DDL数据库定义语言创建数据库中的各种对象创建删除修改表结构
4DCL数据控制语句授予或回收访问数据库的某种特权并控制数据库 操纵事务发生的时间及效果对数据库进行实时监视
八、mysql 中char 和 varchar 有什么区别看笔记找答案
1.场景区别char适合存放定长字符串varchar存放长度可变的字符串
2.后面的数字字符个数char后面最多可以写到255varchar:一行数据最多占65535个字节除去Bolb类的数据类型除去其他列所占的空间剩余的空间和varchar后面写的字符个数有关系编码不同一个字符 所占用的存储空间也不一样所以也会影响varchar后字符个数3.char是固定长度char(5),如果存放了3个字符也会按照5个字符占用存储空间varchar(5):可变长度如果存储了3个字符会按照3个字符占用存储空间。
4.速度区别char优于varchar
5.空格的处理:char会消灭掉字符后自己插入的空格varchar不会
九mysql 中dataTime 和 timestamp 有什么区别
相同点存储格式相同 datetime 和 timestamp 两者的时间格式都是 YYYY-MMDD HH:MM:SS
不同点存储范围不同datetime 的范围是 1000-01-01 到 9999-12-31而 timestamp 是从 1970-01-01 到 2038-01-19即后者的时间范围很小。
与时区关系datetime 是存储服务器当前的时区而 timestamp 类型是将服务 器当前时间转换为 UTC(世界时间)来存储即 datetime 与时区无关存什么 返回什么而 timestamp 存储的时间返回的时间会随着数据库的时区不同而 发生改变。
九mysql 中enum 和 set 有什么区别
enum和set的区别enum只能从列出来的值中选择一个作为数据set可以从列出来的值中选择多个值作为数据
十、mysql 中的这些函数能说出来一些
select if(12,2,3)
select ifnull(title,0) from book
#如果两个表达式补相等返回表达式1否则返回null
select nullif(abc,abc1)
#将参数进行连接必然会使用
select concat(a,*,b)
select concat(title,,,type,,,bookid) from book
#第一个参数为分隔符
select CONCAT_WS(*,title,type,bookid) from book
#字符串截取索引从1开始(字符串开始位置长度)
select substring(abcde,2,2)
#去掉字符串收尾的空格
select trim( bcde )
create table test4(t_id int primary key auto_increment,t_name varchar(20)
)
insert into test4(t_name)values(amdin)
#返回最后一次插入的自增列的值非常实用
select LAST_INSERT_ID()
select CURDATE()
select CURRENT_DATE()
select CURTIME()
select CURRENT_TIME()
SELECT NOW()
select DATE_ADD(NOW(),INTERVAL -6 MONTH);
select DATE_ADD(CURRENT_DATE,INTERVAL 6 DAY);
select DATE_ADD(CURRENT_DATE,INTERVAL 6 HOUR);
select DATE_ADD(CURRENT_DATE,INTERVAL 6 YEAR);
select DATE_ADD(now(),INTERVAL 6 MINUTE);
select DATE_ADD(now(),INTERVAL 6 SECOND);
select DATE_ADD(CURRENT_DATE,INTERVAL 6 WEEK);
SELECT DATE_SUB(CURRENT_DATE,INTERVAL -6 MONTH);
SELECT MONTH(now()) 获取时间的月份
SELECT year(now()) 获取时间的年份
#y代表两MONTH(NO)位年份 Y代表4位年份 h代表12小时制 H代表24小时制
select DATE_FORMAT(CURRENT_TIMESTAMP(),%y/%m/%d %h:%i:%s)
select DATE_FORMAT(CURRENT_TIMESTAMP(),%Y/%m/%d %H:%i:%s)
十一、mysql 中的自然连接是怎么会事情举个例子说明下 natural join 自然连接 条件两张连接的表中作为联合条件的列的列名称和类型完全一致
create table bookType(type_id int auto_increment primary key,type_name varchar(20)
)
create table books(book_id int auto_increment primary key,book_name varchar(20),type_id INT,foreign key(type_id) REFERENCES bookType(type_id)
)
select * from bookType
insert into bookType(type_name)values(计算机类),(文学类)
insert into books(book_name,type_id)values(JAVA基础,1),(JAVA编程思想,1),
(西游记,2),(三国演义,2)
insert into books(book_name,type_id)values(JAVA基础,null)
#自然连接条件需要联合条件所涉及的列的列名需要一样
#自然内连接
select * from books NATURAL join bookType
#自然左连接
select * from books NATURAL left join bookType
#自然右连接
select * from books NATURAL right join bookType
#交叉连接
select * from books cross join bookType on books.type_idbookType.type_id