主要内容:核心方法,打开数据库,执行查询操作,插入数据,读取数据,完整实例,实例,删除记录,更新记录,完整实例,实例Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。 如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。 你也可以参考我们的 SQL 教程,了解更多数据库操作知识。 Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。 核心方法
主要内容:SQL 注入的危害,SQL 注入示例,防止 SQL 注入SQL 注入是一种代码渗透技术,是最常用的网络黑客技术之一。SQL 注入非常危险,可能会导致数据库中的数据被暴露,甚至被损坏。 通过网页输入框(<input> 标签、<textarea> 标签等)将恶意 SQL 代码提交给服务器是最常见的 SQL 注入方式之一。 当网站要求输入诸如用户名(用户ID)之类的内容时,通常会发生 SQL 注入。黑客会输入一条 SQL 语句,而不是用户名/用户ID,当页面
主要内容:事务的属性,事务执行流程在数据库中,我们将一条 SQL 语句称为一次基本的操作。将若干条 SQL 语句“打包”在一起,共同执行一个完整的任务,这就是事务。 事务( Transaction)由一次或者多次基本操作构成,或者说,事务由一条或者多条 SQL 语句构成。 事务有一个最显著的特征,就是它包含的所有 SQL 语句作为一个整体向数据库提交,只有所有的 SQL 语句都执行完成,整个事务才算成功,一旦某个 SQL 语句执行
主要内容:语法,示例,视图究竟是什么?,为什么使用视图?,视图的修改,删除视图视图(View)是一个由 SELECT 查询所定义出来的虚拟表。 我们知道,SELECT 查询会产生一个包含行和列的结果集,它在结构上和真实的物理表是类似的,您可以把这个结果集看做一个临时表或者虚拟表;给结果集起一个名字,放在数据库中供大家使用,它就叫做“视图”了。 语法 在 SQL 中,您可以基于一个表、多个表或者另外一个视图来创建新的视图,被视图引用的表通常称为“基础表”。 注意,用户必须拥有
主要内容:语法,示例SQL TRUNCATE TABLE 语句用来删除表中的所有记录,也即清空表,它类似于不带 WHERE 子句的 DELETE FROM 语句。 TRUNCATE TABLE 和 DROP TABLE DROP TABLE 用来删除表,包括删除该表的数据、结构、索引、触发器、约束等所有信息。一旦使用 DROP TABLE 删除了表,则该表的所有信息都将丢失,该表再也无法使用了。如果您希望存储一些数据
主要内容:语法,示例SQL ALTER TABLE 语句用来修改、添加、删除、修改与表相关的各种要素,比如: 给表添加新的字段 修改现有字段的名字 修改现有字段的类型 添加约束 删除约束 语法 使用 ALTER TABLE 为表添加一个新字段的基本语法如下: ALTER TABLE table_name ADD column_name datatype; 使用 ALTER TABLE 删除表中某个字段的基本语法如
主要内容:语法,示例,性能问题CROSS JOIN 称为“交叉连接”或者“笛卡尔连接”。SQL CROSS JOIN 连接用于从两个或者多个连接表中返回记录集的笛卡尔积,即将左表的每一行与右表的每一行合并。 什么是笛卡尔积? 笛卡尔积(Cartesian product)是指两个集合 A 和 B 的乘积。 例如,A 集合和 B 集合分别包含如下的值: A = {1,2} B = {3,4,5} A×B 和 B×A 的结果集分别
主要内容:语法,示例SQL SELF JOIN 用于将一个表和自身连接,就好像存在两个表一样。为了区分两个表,在 SQL 语句中需要至少重命名一个表。 自连接通常用于将表的某个字段与该表的同一字段的其它值进行比较。 语法 SELF JOIN 的基本语法如下: 您看,SQL 并没有 SELF JOIN 关键字,而是使用 WHERE 子句来达到自连接的目的。 示例 自连接的语法比较简单,但是结果往往不是那么容易理解,让我
主要内容:语法,示例SQL FULL JOIN 将返回左表(table1)和右表(table1)中的所有记录,相当于 LEFT JOIN 和 RIGHT JOIN 的叠加。 FULL JOIN 先执行 LEFT JOIN 遍历左表,再执行 RIGHT JOIN 遍历右表,最后将 RIGHT JOIN 的结果直接追加到 LEFT JOIN 后面。注意,FULL JOIN 会返回重复的行,它们会被保留,不会被删除。 语法
主要内容:语法,示例SQL RIGHT JOIN 和 LEFT JOIN 是相对的,RIGHT JOIN 将返回右表(table2)中的所有记录,即使左表(table1)中没有匹配的记录也是如此。当左表中没有匹配的记录时,RIGHT JOIN 仍然返回一行,只是该行的右表字段有值,而左表字段以 NULL 填充。 RIGHT JOIN 以右表为主,即右表中的所有记录都会被返回,具体分为以下三种情况: 如果 table2
主要内容:语法,示例SQL LEFT JOIN 和 RIGHT JOIN 是相对的,LEFT JOIN 将返回左表(table1)中的所有记录,即使右表(table2)中没有匹配的记录也是如此。当右表中没有匹配的记录时,LEFT JOIN 仍然返回一行,只是该行的左表字段有值,而右表字段以 NULL 填充。 LEFT JOIN 以左表为主,即左表中的所有记录都会被返回,具体分为以下三种情况: 如果 table1 中的
主要内容:语法,示例INNER JOIN 是 SQL 中最重要、最常用的表连接形式,只有当连接的两个或者多个表中都存在满足条件的记录时,才返回行。 SQL INNER JOIN 子句将 table1 和 table2 中的每一条记录进行比较,以找到满足条件的所有记录,然后将每一对满足条件的记录的字段值,合并为一条新的结果行。 INNER JOIN 是默认的表连接方式。当不加任何修饰性的关键字,只写 JOIN 时,默认
主要内容:语法,示例,删除索引SQL 索引(Index)用于提高数据表的查询速度。一个表可以创建多个索引,一个索引可以包含一个或者多个字段。 不使用索引,数据库引擎将遍历整个表。 从表面上看,索引类似于书的目录,在没有目录的情况下,要从书中查找某项内容就必须阅读全文,而有了目录之后,通过页码就可以很快定位到相关内容。 从本质上看,索引是根据表的一个或者多个字段生成的子表,该子表中的数据已经进行了排序。子表除了包含指定字段中的数
主要内容:示例,删除外键,主键 VS 外键SQL 外键(Foreign Key)用于将两个表连接在一起,让两个表的数据保持同步。 外键由表中的一个字段或者多个字段构成,一个表的外键用来指向另一个表的主键(Primary Key)。包含外键的表称为从表,被指向的表称为主表。从表的数据受到主表的约束,向从表中插入或者更新数据时,外键的值必须存在于主表的主键中。 下面的例子能够很好地说明什么是外键。现在有两个表,分别是 user 和 order
主要内容:示例,删除主键主键(Primary Key)由表中的一个或者多个字段构成,用来唯一标识表中的每一行记录。可以将主键类比为学号、身份证号、车牌号或者 ID。 主键必须包含唯一值,换句话说,所有记录的主键都不能出现相同的值。此外,主键必须是一个具体的值,不能是 NULL 值。 当主键包含多个字段时,又称为复合键(Composite Primary Key)。 注意事项 在设计主键时,应使用尽可能少的字段,这不但能减