当前位置: 首页 > wzjs >正文

东莞网站优化教程高阳网站制作

东莞网站优化教程,高阳网站制作,哪些网站可以免费推广,广东深圳建设工程信息网站1、什么是 MySQL? MySQL 是一个开源的关系型数据库,现在隶属于 Oracle 公司。是我们国内使用频率最高的一种数据库,我本地安装的是比较新的 8.0 版本。 1.1 怎么删除/创建一张表? 可以使用 DROP TABLE 来删除表,使用…

1、什么是 MySQL?

MySQL 是一个开源的关系型数据库,现在隶属于 Oracle 公司。是我们国内使用频率最高的一种数据库,我本地安装的是比较新的 8.0 版本。

1.1 怎么删除/创建一张表?

可以使用 DROP TABLE 来删除表,使用 CREATE TABLE 来创建表。创建表的时候,可以通过 PRIMARY KEY 设定主键。

CREATE TABLE users (id INT AUTO_INCREMENT,name VARCHAR(100) NOT NULL,email VARCHAR(100),PRIMARY KEY (id)
);

1.2 请写一个升序/降序的 SQL 语句?

在 SQL 中,可以使用 ORDER BY 子句来对查询结果进行升序或者降序。默认情况下,查询结果是升序的,如果需要降序,可以通过 DESC 关键字来实现。如果需对多个字段进行排序,例如按工资降序,按名字升序,就可以 ORDER BY salary DESC, name ASC 来完成:

SELECT id, name, salary
FROM employees
ORDER BY salary DESC, name ASC;

1.3 MySQL出现性能差的原因有哪些?

可能是 SQL 查询使用了全表扫描,也可能是查询语句过于复杂,如多表 JOIN 或嵌套子查询。也有可能是单表数据量过大。通常情况下,添加索引就能解决大部分性能问题。对于一些热点数据,还可以通过增加 Redis 缓存,来减轻数据库的访问压力。

2、两张表怎么进行连接?

可以通过内连接 inner join、外连接 outer join、交叉连接 cross join 来合并多个表的查询结果。

2.1 什么是内连接?

内连接用于返回两个表中有匹配关系的行。假设有两张表:用户表和订单表,想查询有订单的用户就可以使用内连接 users INNER JOIN orders,按照用户 ID 关联就行了。

SELECT users.name, orders.order_id
FROM users
INNER JOIN orders ON users.id = orders.user_id;

只有那些在两个表中都存在 user_id 的记录才会出现在查询结果中。

2.2 什么是外连接?

和内连接不同,外连接不仅返回两个表中匹配的行,还返回没有匹配的行,用 null 来填充。外连接又分为左外连接 left join 和右外连接 right join。left join 会保留左表中符合条件的所有记录,如果右表中有匹配的记录,就返回匹配记录,否则就用 null 填充,常用于某表中有,但另外一张表中可能没有的数据的查询场景。假设要查询所有用户以及他们的订单,即使用户没有下单,就可以使用左连接:

SELECT users.id, users.name, orders.order_id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;

右连接就是左连接的镜像,right join 会保留右表中符合条件的所有记录。

2.3 什么是交叉连接?

交叉连接会返回两张表的笛卡尔积,将左表的每一行与右表的每一行进行组合,返回的行数是两张表行数的乘积。

SELECT A.id, B.id
FROM A
CROSS JOIN B;

3、内连接、左连接、右连接有什么区别?

MySQL 的连接主要分为内连接和外连接,外连接又可以分为左连接和右连接。
在这里插入图片描述
内连接可以用来找出两个表中共同的记录,相当于两个数据集的交集。左连接和右连接可以用来找出两个表中不同的记录,相当于两个数据集的并集。两者的区别是,左连接会保留左表中符合条件的所有记录,右连接则刚好相反。

4、说一下数据库的三大范式?

在这里插入图片描述

  1. 第一范式:表的每一列都是不可分割的基本数据单元:在这里插入图片描述
  2. 第二范式:在满足1NF的基础上,非主键字段必须完全依赖于整个主键。
    在这里插入图片描述
  3. 第三范式:在满足2NF的基础上,非主键字段不能间接依赖其他非主键字段(消除传递依赖)。
    在这里插入图片描述

4.1 建表的时候需要考虑哪些问题?

首先需要考虑表是否符合数据库的三大范式,确保字段不可再分,消除非主键依赖,确保字段仅依赖于主键等。然后在选择字段类型时,应该尽量选择合适的数据类型。在字符集上,尽量选择 utf8mb4,不仅可以支持中文和英文,还可以支持表情符号等。当数据量较大时,比如上千万行数据,需要考虑分表。比如订单表,可以采用水平分表的方式来分散单表存储压力。

5、varchar 与 char 的区别?

  1. varchar 是可变长度的字符类型,理论上最多可以容纳 65535 个字符,但考虑到字符集,以及 MySQL 需要 1 到 2 个字节来表示字符串长度,所以实际上最大可以容纳到 65533。
  2. char 是固定长度的字符类型,当定义一个 CHAR(10) 字段时,不管实际存储的字符长度是多少,都只会占用 10 个字符的空间。如果插入的数据小于 10 个字符,剩余的部分会用空格填充。(GBK 中文占 2 字节,UTF-8 占 3 字节)

6、blob 和 text 有什么区别?

blob 用于存储二进制数据,比如图片、音频、视频、文件等;但实际开发中,我们都会把这些文件存储到 OSS 或者文件服务器上,然后在数据库中存储文件的 URL。text 用于存储文本数据,比如文章、评论、日志等。

7、DATETIME 和 TIMESTAMP 有什么区别?

  1. DATETIME 直接存储日期和时间的完整值,与时区无关。
  2. TIMESTAMP 存储的是 Unix 时间戳,1970-01-01 00:00:01 UTC 以来的秒数,受时区影响。
    另外,DATETIME 的默认值为 null,占用 8 个字节;TIMESTAMP 的默认值为当前时间 CURRENT_TIMESTAMP,占 4 个字节,实际开发中更常用,因为可以自动更新。

8、in 和 exists 的区别?

使用 IN 时,MySQL 会首先执行子查询,然后将子查询的结果集用于外部查询的条件。这意味着子查询的结果集需要全部加载到内存中。而 EXISTS 会对外部查询的每一行,执行一次子查询。如果子查询返回任何行,则 EXISTS 条件为真。EXISTS 关注的是子查询是否返回行,而不是返回的具体值。

-- IN 的临时表可能成为性能瓶颈
SELECT * FROM users 
WHERE id IN (SELECT user_id FROM orders WHERE amount > 100);-- EXISTS 可以利用关联索引
SELECT * FROM users u
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.user_id = u.id AND o.amount > 100);

IN 适用于子查询结果集较小的情况。如果子查询返回大量数据,IN 的性能可能会下降,因为它需要将整个结果集加载到内存。而 EXISTS 适用于子查询结果集可能很大的情况。由于 EXISTS 只需要判断子查询是否返回行,不需要加载整个结果集,因此在某些情况下性能更好,特别是当子查询可以使用索引时。

8.1 NULL 值陷阱了解吗?

  1. IN: 如果子查询的结果集中包含 NULL 值,可能会导致意外的结果。例如,WHERE column IN (subquery),如果 subquery 返回 NULL,则 column IN (subquery) 永远不会为真,除非 column 本身也为 NULL。
  2. EXISTS: 对 NULL 值的处理更加直接。EXISTS 只是检查子查询是否返回行,不关心行的具体值,因此不受 NULL 值的影响。

9、记录货币用什么字段类型比较好?

货币在数据库中 MySQL 常用 Decimal 和 Numeric 类型表示,这两种类型被 MySQL 实现为同样的类型。他们被用于保存与货币有关的数据。例如 salary DECIMAL(9,2),9 (precision) 代表将被用于存储值的总的小数位数,而 2 (scale) 代表将被用于存储小数点后的位数。存储在 salary 列中的值的范围是从-9999999.99 到 9999999.99。DECIMAL 和 NUMERIC 值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。之所以不使用 float 或者 double 是为了避免二进制误差。

10、怎么存储 emoji?

MySQL 的 utf8 字符集仅支持最多 3 个字节的 UTF-8 字符,但是 emoji 表情(😊)是 4 个字节的 UTF-8 字符,所以在 MySQL 中存储 emoji 表情时,需要使用 utf8mb4 字符集。MySQL 8.0 已经默认支持 utf8mb4 字符集。

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

11、

12、

13、

14、

15、

16、

17、

18、

19、

20、


文章转载自:

http://Ye9wuR7N.dyyhw.cn
http://lSIZfbTH.dyyhw.cn
http://Z9whjs3e.dyyhw.cn
http://PMBuSp96.dyyhw.cn
http://jCsM4dq2.dyyhw.cn
http://nKKld57t.dyyhw.cn
http://k8v6Z2vv.dyyhw.cn
http://tJYRWw6n.dyyhw.cn
http://kl5EOMUu.dyyhw.cn
http://5L8pdvvx.dyyhw.cn
http://ExDUiz7g.dyyhw.cn
http://KqI5AYDz.dyyhw.cn
http://ujQwOc7F.dyyhw.cn
http://DEQ9isgp.dyyhw.cn
http://jMNHVQhs.dyyhw.cn
http://BnDRnFIB.dyyhw.cn
http://Q5Rqk9Dx.dyyhw.cn
http://SdYJw4Qd.dyyhw.cn
http://uTRm5QbC.dyyhw.cn
http://cfrdJImW.dyyhw.cn
http://wFurqflB.dyyhw.cn
http://LASr0RCm.dyyhw.cn
http://qvTt2SX7.dyyhw.cn
http://IMM4A1If.dyyhw.cn
http://OTzY14g2.dyyhw.cn
http://scAa1NQy.dyyhw.cn
http://RdiOQynN.dyyhw.cn
http://EaDEc8GA.dyyhw.cn
http://4V3WrzU3.dyyhw.cn
http://J4p1hU9S.dyyhw.cn
http://www.dtcms.com/wzjs/728207.html

相关文章:

  • 出版社网站必须做企业可信认证嘛注册域名哪个网站好
  • 武安企业做网站推广珠海 网站建设
  • 深圳建网站价格北京的互联网企业
  • 教程推广优化网站排名更加精准高效的措施
  • 可以做审计初级题的网站山西seo顾问
  • 昆明网站建设哪家公司好python建设网站实例
  • 一般上什么网站多语言网站建设价格
  • 手机触屏网站模板wordpress去掉顶部
  • 建设网站找哪个公司长春火车站出站要求
  • 网站网页设计怎么收费win8风格企业网站
  • 模板式网站建设wordpress wp_footer()
  • 怎么进入公司网站服务商标是什么意思
  • 极速网站建设多少钱北京商场租金
  • 有个网站可以学做ppt模板移动互联网综合实训实践报告
  • 怎样解析网站域名html个人源码
  • 网上贸易平台有哪些搜索引擎优化的基本原理
  • 建立网站的用处临沂市建设局网站简介
  • wordpress积分站内搜索建行手机银行app
  • 多语言网站模板房屋装修预算明细表格
  • 如何向搜索引擎提交网站西安有什么好玩的值得去的地方
  • seo网站关键词排名提升海南百度推广公司有哪些
  • 优酷视频网站源码网站开发一般多少钱
  • 装配式建筑网站郑州网站建设推广报价
  • 织梦网站背景公司起名打分最准的免费网站
  • 成都没有做网站的公司网易云网站开发
  • 提供邯郸企业建网站可以定制衣服的软件
  • 深圳沙头网站建设网站怎么做排名优化
  • 网站开发准备流程wordpress上传附件到FTP
  • 网站建设公司找哪家好曲靖网站建设公司
  • 手机客户端网站怎么做宁夏网站建设公司