12 2020 档案

摘要:面试题62:圆圈中最后剩下的数字。0、1、…、n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 本题就是约瑟夫环问题。 法一:用环形链表模拟圆圈,我们可以直接用标准库的list模拟环形链表,但标准库的list不是环形的,但我们可以在迭代器 阅读全文
posted @ 2020-12-30 05:06 epiphanyy 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MySQL与其他DBMS一样有自己的硬件建议,对于用于生产的服务器,应坚持这些建议。 一般,关键的生产DBMS应运行在自己的专用服务器上。 MySQL用的是默认设置,用了一段时间后应调整内存分配、缓冲区大小等设置,可用SHOW VARIABLES和SHOW STATUS查看当前设置。 MySQL是多 阅读全文
posted @ 2020-12-29 08:33 epiphanyy 阅读(2) 评论(0) 推荐(0) 编辑
摘要:MySQL数据库是基于磁盘的文件,普通的备份系统和例程备份MySQL数据时,由于MySQL文件总是打开和使用状态,普通的文件备份不一定总是有效。 备份方法: 1.使用mysqldump转储所有数据库内容到某个外部文件,进行常规备份前这个应用应先运行,以便正确地备份转储文件。 2.使用mysqlhot 阅读全文
posted @ 2020-12-28 19:03 epiphanyy 阅读(11) 评论(0) 推荐(0) 编辑
摘要:用户应该具有适当的访问权,既不能多也不能少。 MySQL Administrator提供了图形界面,可用来管理用户和账号权限。 MySQL创建一个名为root的用户账号,它对整个MySQL服务器有完全的控制。在日常工作中,决不能使用root,而应创建一系列账号供不同用户使用,防止恶意或无意地破坏数据 阅读全文
posted @ 2020-12-28 18:08 epiphanyy 阅读(7) 评论(0) 推荐(0) 编辑
摘要:给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。 两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。 如果 a 和 b 相似,返回 tr 阅读全文
posted @ 2020-12-27 17:03 epiphanyy 阅读(11) 评论(0) 推荐(0) 编辑
摘要:不同的语言和字符集需要以不同的方式存储和检索,MySQL需要适应不同的字符集,以及排序和检索这些数据的方法。 术语: 1.字符集:字母和符号的集合。 2.编码:某个字符集成员的内部表示。 3.校对:规定字符如何比较。 查看MySQL支持的字符集列表: SHOW CHARACTER SET; 运行它: 阅读全文
posted @ 2020-12-27 14:38 epiphanyy 阅读(7) 评论(0) 推荐(0) 编辑
摘要:并非所有引擎都支持事务处理。MyISAM不支持,InnoDB支持。 事务处理可用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。如果没有错误发生,整组语句写到数据库表,如果发生错误,将已经执行的部分语句进行回退,以恢复数据库到某个已知且安全的状态。 术语: 1.事务:一 阅读全文
posted @ 2020-12-26 15:18 epiphanyy 阅读(9) 评论(0) 推荐(0) 编辑
摘要:触发器在MySQL 5中增加。 触发器可以在MySQL响应DELETE、INSERT、UPDATE语句时自动执行一条SQL语句。 MySQL 5中触发器名在每个表中唯一而不是在一个数据库中唯一。其他DBMS有的重名限制是数据库范围,以后MySQL可能会使命名规则更加严格,最好在一个库中使用唯一的触发 阅读全文
posted @ 2020-12-24 19:03 epiphanyy 阅读(40) 评论(0) 推荐(0) 编辑
摘要:MySQL 5增加了对游标的支持。 游标是存储在MySQL服务器上的数据库查询,它不是SELECT语句,而是被该语句检索出来的结果集,存储了游标后,就能在检索出来的行中前进或后退一行或多行。 不同于多数DBMS,MySQL游标只能用于存储过程和函数。 使用游标步骤: 1.使用前必须先声明(定义)它。 阅读全文
posted @ 2020-12-24 17:50 epiphanyy 阅读(39) 评论(0) 推荐(0) 编辑
摘要:MySQL 5中增加了存储过程的支持。 一个操作需要多条SQL语句才能完成时,可以创建存储过程,其中保存一条或多条SQL语句。 使用存储过程的理由: 1.通过把处理封装在容易使用的单元中,简化复杂的操作。 2.所有人都使用同一存储过程代替某复杂操作,可防止错误,保证了所有人使用的代码相同,保证了数据 阅读全文
posted @ 2020-12-23 18:35 epiphanyy 阅读(30) 评论(0) 推荐(0) 编辑
摘要:创建表例子: MySQL忽略语句中的空格,可像上例一样格式化一下语句。 创建的表名必须不存在,否则会报错。如果想在一个表不存在时创建它,且在该表已经存在时不报错而是发出警告,则应该在表名前加上IF NOT EXISTS: CREAT TABLE IF NOT EXISTS tableName ... 阅读全文
posted @ 2020-12-21 18:54 epiphanyy 阅读(8) 评论(0) 推荐(0) 编辑
摘要:redis命令不区分大小写。 1.设置键值对: SET keyName value 键值对是大小写敏感的。如果键或值带有空格,需要用引号,双引号和单引号都可以。 2.获取值: GET keyName 获取不存在的值时: 3.查看某些键是否存在: EXISTS keyNameList 返回keyNam 阅读全文
posted @ 2020-12-21 16:36 epiphanyy 阅读(9) 评论(0) 推荐(0) 编辑
摘要:插入可用以下方式进行: 1.插入完整行。 2.插入行的一部分。 3.插入多行。 4.插入某些查询的结果。 可针对每个表或每个用户,利用MySQL的安全机制禁止使用INSERT语句。 插入语句没有输出。 插入完整的行: INSERT INTO tableName VALUES(fieldsValueL 阅读全文
posted @ 2020-12-20 12:02 epiphanyy 阅读(41) 评论(0) 推荐(0) 编辑
摘要:并非所有引擎都支持全文本搜索,MyISAM支持。 更新: 1.MySQL 5.6 以前的版本,只有 MyISAM 存储引擎支持全文索引; 2.MySQL 5.6 及以后的版本,MyISAM 和 InnoDB 存储引擎均支持全文索引; 3.只有字段的数据类型为char、varchar、text的列才可 阅读全文
posted @ 2020-12-19 14:37 epiphanyy 阅读(15) 评论(0) 推荐(0) 编辑
摘要:可将多个SELECT语句的查询结果作为单个查询结果集返回,通常称这种组合查询为并或复合查询。 使用组合查询的情况: 1.查询不同的表中结构类似的数据。 2.单个表中执行多个查询,按单个查询返回数据。 组合查询通常能在WHERE中使用OR代替,但这两个方式的性能不同,对于特定查询应进行测试找出哪种性能 阅读全文
posted @ 2020-12-16 18:57 epiphanyy 阅读(4) 评论(0) 推荐(0) 编辑
摘要:可给表起别名,理由是: 1.缩短SQL语句。 2.允许在单条SELECT语句中多次使用相同的表(自联结时可用)。 SELECT title, name FROM film f, language l WHERE f.language_id = l.language_id; 以上SQL返回值与上一章取 阅读全文
posted @ 2020-12-16 18:34 epiphanyy 阅读(3) 评论(0) 推荐(0) 编辑
摘要:如上图,语言表中包含语言的很多信息,而电影表中包含语言的id,独立出一个语言表的原因如下: 1.同一种语言的所有信息都是相同的,对每个语言相同的电影重复此信息既浪费时间又浪费存储空间。 2.如果语言的某信息改变,只需在语言表中改动一次即可。 3.每个电影输入时,很难保证每次输入该语言数据的方式都相同 阅读全文
posted @ 2020-12-14 21:45 epiphanyy 阅读(13) 评论(0) 推荐(0) 编辑
摘要:请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 “G”、"()" 和/或 “(al)” 按某种顺序组成。Goal 解析器会将 “G” 解释为字符串 “G”、"()" 解释为字符串 “o” ,"(al)" 解释为字符串 “al” 。然后,按原顺序将经解释得到的字 阅读全文
posted @ 2020-12-12 21:03 epiphanyy 阅读(5) 评论(0) 推荐(0) 编辑
摘要:聚集函数是运行在行组上,计算和返回单个值的函数。对表中数据而非实际数据本身进行汇总,如获取行数、获取某列最值等。 除上述函数外,MySQL还支持标准偏差聚集函数。 返回某列平均值: SELECT AVG(columnName) AS avgVal FROM tableName; AVG函数只能用于数 阅读全文
posted @ 2020-12-10 21:18 epiphanyy 阅读(12) 评论(0) 推荐(0) 编辑
摘要:计算字段不实际存在于数据库表中,而是运行时在SELECT语句内创建的。 字段基本上与列的意思相同,两个词可互换使用,但数据库列一般称为列,而术语字段通常用在计算字段的连接上。 只有数据库知道SELECT语句中哪些列是实际的表列,哪些是计算字段,从客户机(如应用程序)的角度看,计算字段的数据是以与其他 阅读全文
posted @ 2020-12-08 22:38 epiphanyy 阅读(15) 评论(0) 推荐(0) 编辑
摘要:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。 客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。 直接 阅读全文
posted @ 2020-12-06 15:32 epiphanyy 阅读(6) 评论(0) 推荐(0) 编辑
摘要:通配符可用于创建特定的数据搜索模式,搜索模式是由字面值、通配符或两者组合构成的搜索条件。 为在搜索子句中使用通配符,必须使用LIKE操作符,LIKE操作符指示MySQL后跟的搜索模式利用通配符匹配而非直接匹配。 从技术上说,LIKE是谓词而不是操作符,了解此术语以在看SQL文档时能看懂。 百分号通配 阅读全文
posted @ 2020-12-06 14:13 epiphanyy 阅读(4) 评论(0) 推荐(0) 编辑
摘要:可用AND操作符给WHERE子句附加条件: SELECT columnName FROM tableName WHERE columnName1 = 1 AND columnName2 = 2; OR操作符指示MySQL匹配符合操作符任一端条件的行: SELECT columnName FROM t 阅读全文
posted @ 2020-12-05 12:20 epiphanyy 阅读(8) 评论(0) 推荐(0) 编辑
摘要:使用WHERE子句选出符合特定条件的数据: SELECT columnName FROM tableName WHERE columnName = value; 数据也能在应用层过滤,但性能较低,服务器还会发送多余的数据,浪费网络带宽。 ORDER BY子句要在WHERE子句后。 WHERE的条件值 阅读全文
posted @ 2020-12-04 22:54 epiphanyy 阅读(8) 评论(0) 推荐(0) 编辑
摘要:从表中选出一列值: SELECT columnName FROM tableName; 一列的输出顺序可能与其他人的输出顺序不同,如果没有明确排序查询结果,则返回的数据的顺序没有特殊意义,可能是数据被添加到表中的顺序,也可能不是。 多条SQL语句必须以分号;分隔。特定的DBMS可能不需要在单条SQL 阅读全文
posted @ 2020-12-01 21:16 epiphanyy 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示