1、数据库技术的根本目标是:数据共享
2、在SQL语言中,子查询是嵌入到另一个查询语句之中的查询语句。
3、主键约束是确保表中每一行记录是唯一的,一个表只能设置一个主键,主键的值不能重复但能为空(null)。
1、防止 SQL 注入的方式
(1)开启配置文件中的 magic_quotes_gpc 和 magic_quotes_runtime 设置
(2)执行 sql 语句时使用addslashes 进行 sql 语句转换
(3)Sql 语句书写尽量不要省略双引号和单引号。
(4)过滤掉 sql 语句中的一些关键词:update、insert、delete、select、 * 。
(5) 提高数据库表和字段的命名技巧,对一些重要的字段根据程序的特点命名,取不易被猜到的。
(6)PHP 配置文件中设置 reGISter_globals 为 off,关闭全局变量注册
(7) 控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。
(8)可以使用 waf 防护系统进行防护。
2、防止 SQL 注入的方式NOW()和CURRENT_DATE()的区别
(1)NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。
(2)CURRENT_DATE()仅显示当前年份,月份和日期。
3、表约束包括列约束(表约束+NOTNULL)和表约束(PRIMARYKEY、foreignkey、check、UNIQUE)。
4、在缺省模式下,MYSQL是autocommit模式的,所有的数据库更新操作都会即时提交,所以在缺省情况下,mysql是不支持事务的。
5、数据库中db、dbms和dbs三者之间的关系
DBS包括DB和DBMS;数据库系统DBS是一个通称,包括数据库DB、数据库管理系统DBMS、数据库管理人员DBA等的统称,是最大的范畴。
6、ER图是数据库设计的什么阶段(第二)
数据库设计通常分为6个阶段:
(1)需求分析:分析用户的需求,包括数据、功能和性能需求;
(2)概念结构设计:主要采用ER模型进行设计,包括画ER图;
(3)逻辑结构设计:通过将ER图转换成表,实现从ER模型到关系模型的转换;
(4)数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
(5)数据库的实施:包括编程、测试和试运行;
(6)数据库运行与维护:系统的运行与数据库的日常维护。
7、Sql中的like用法
(1)%:包含零个或多个字符的任意字符串。
(2)_(下划线):任何单个字符。
(3)查找 emp表中所有电话号码phone_no的以1或3开头,第三位为0的电话号码的SQL语句:SELECT phone_no FROM emp WHERE phone_no LIKE ‘[1,3]_0%’
8、视图的作用
(1)视图能够简化用户的操作
(2)视图使用户能以多种角度看待同一数据
(3)视图对重构数据库提供了一定程度的逻辑独立性
(4)视图能够对机密数据提供安全保护
(5)适当的利用视图可以更清晰的表达查询
9、主键和候选键的区别
(1)主键也是候选键
(2)按照惯例,候选键可被指定为主键,并且可以用于任何外键引用
(3)表格的每一行都由主键唯一标识,一个表只有一个主键
1、列的字符串类型可以是SET、BLOB、ENUM、CHAR、TEXT。
2、SQL标准定义的四个隔离级别
(1)未提交读(Read uncommitted)
(2)提交读(Read committed)
(3)可重复读(Repeatable read)
(4)可串行化(Serializable)
3、锁的优化策略包括
(1)读写分离
(2)分段加锁
(3)减少锁持有的时间
(4)多个线程尽量以相同的顺序去获取资源
(5)不能将锁的粒度过于细化,不然可能会出现线程的加锁和释放次数过多,反而效率不如一次加一把大锁。
4、