数据产品经理必备之SQL基础
视图是一个虚拟表,包含一系列带有名称的列和行数据,但视图并不是数据库真实存储的数据表。存储在数据库中的查询操作 SQL 语句定义了视图的内容,列数据和行数据来自于视图查询所引用的实际表,引用视图时动态生成这些数据。视图的结构形式和表一样,可以进行查询、修改、更新和删除等操作。 (1)创建视图 语法格式: CREATE VIEW <视图名> AS <SELECT语句> 语法说明:
示例: create view view_name as select * from table_name; (2)查看视图 语法格式: DESCRIBE <视图名>; 语法说明:
示例: describe view_name; (3)修改视图 语法格式: ALTER VIEW <视图名> AS <SELECT语句> 语法说明:
示例: alter view view_name as select * from table_name; (4)删除视图 语法格式: DROP VIEW <视图名1> [ , <视图名2> …] 语法说明:
示例: drop view view_name; 4. 索引索引是一种十分重要的数据库对象。索引是数据库性能调优技术的基础,常用于实现数据的快速检索。对表建立一个索引,在列上创建了索引之后,查找数据时可以直接根据该列上的索引找到对应记录行的位置,从而快捷地查找到数据。索引存储了指定列数据值的指针,根据指定的排序顺序对这些指针排序。 (1)创建索引 语法格式: CREATE <索引名> ON <表名> (<列名> [<长度>] [ ASC | DESC]) 此外,还可以在CREATE TABLE 、ALTER TABLE时创建索引 语法说明:
示例: create index index_name on table_name(column_name,column_name) (2)删除索引 语法格式: DROP INDEX <索引名> ON <表名> 语法说明:
示例: drop index index_name on table_name 5. 事务事务是并发控制的单位,是用户定义的一个操作序列,主要用于处理操作量大,复杂度高的数据。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL能将逻辑相关的一组操作绑定在一起,以便保持数据的完整性。 一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,又称为不可分割性)、一致性(Consistency)、隔离性(Isolation,又称为独立性)、持久性(Durability)。 (1)开始事务 语法格式: BEGIN TRANSACTION <事务名称> |@<事务变量名称> 语法说明:
示例: begin transaction (2)提交事务 语法格式: COMMIT TRANSACTION <事务名称> |@<事务变量名称> 语法说明: COMMIT TRANSACTION语句的执行使全局变量 @@TRANCOUNT 的值减 1。 示例: commit transaction (3)撤销事务 语法格式: ROLLBACK [TRANSACTION] [<事务名称>| @<事务变量名称> | <存储点名称>| @ <含有存储点名称的变量名> 语法说明:
示例: rollback 6. 约束(1)主键约束 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行,这样的一列或多列称为表的主键,通过主键约束可以强制表的实体完整性。 语法格式: <字段名> <数据类型> PRIMARY KEY [默认值] 示例: PRIMARY KEY(id) (2)唯一约束 唯一约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束能够确保一列或者几列不出现重复值。 语法格式: <字段名> <数据类型> UNIQUE 示例: unique(id) (3)外键约束 外键约束用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。 语法格式: [CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…] REFERENCES <主表名> 主键列1 [,主键列2,…] 语法说明: 外键名为定义的外键约束的名称,一个表中不能有相同名称的外键;字段名表示子表需要添加外健约束的字段列;主表名即被子表外键所依赖的表的名称;主键列表示主表中定义的主键列或者列组合。 示例: foreign key(id) (4)非空约束 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。 语法格式: <字段名> <数据类型> NOT NULL; 示例: id int(10) not null (5)检查约束 检查约束基于行中其他列的值在特定的列中对值进行限制,用于限制列中的值的范围。 语法格式: CHECK <表达式> 语法说明: <表达式>指的就是 SQL 表达式,用于指定需要检查的限定条件。 示例: check(id>0) 小结(编辑:51站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |