mysql之索引、视图、约束简单概念

索引
        索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
        索引存在的目的是为提高查询执行的速度。

创建索引:
            CREATE INDEX [UNIQUE|FULLTEXT|SPATIAL] INDEX_NAME [INDEX_TYPE] ON TBNAME (INDEX_COL_NAME,...)

INDEX_NAME 索引的名称,自定义。

INDEX_COL_NAME
                COLNAME [(LENGTH)] [ASC|DESC]
                    LENGTH 建立索引的时候,从左向右比较的字符个数。若建立在TEXT或CHAR类型上,必须定义长度。默认不指定表示全部长度。
                    ASC 升序排序
                    DESC 降序排序

INDEX_TYPE
                USING {BTERR|HASH}
                一般都是用BTREE,不用HASH

INDEX_OPTION

删除索引:
            DROP INDEX INDEX_NAME ON TBNAME

显示某个表的索引:
            SHOW INDEXES FROM TBNAME

视图(view)
        存储的SELECT语句,基于基表的查询结果。视图也叫虚表。一般不建议将内容插入或更新视图,因为视图是受到基表的字段限制。在mysql中用处不是很大。

物化视图(mysql不支持):
            将生成的视图的结果保存下来。优点是不用每次都进行查询,缺点是一但基表更新则必须从新物化。

创建视图
            CREATE VIEW VIEWNAME [COLUMN_LIST] AS SELECT_STATMENT

删除视图:
            DROP VIEWNAME

修改视图:
            先DROP后CREATE即可。

显示创建对象的具体语句:
        SHOW CREATE TBNAME|VIEW,,,

约束
        域约束:数据类型约束
        外键约束:引用完整性约束
        主键约束:主键是某字段能唯一标识此字段所属的实体,并且不允许为空。符合这个条件的被称为候选主键。一个表只能有一个主键。不允许2个实体在主键上出现相同值。
        唯一性约束:每一行的某字段都不允许出现相同值。但是可以为空。表中可出现多个。
        检查性约束: 自定义约束条件。mysql上功能比较薄弱。

实例:
        1.给表添加唯一键
            mysql>DESC testcourses2;
            mysql>SHOW INDEXES FROM testcourses2;
            mysql>ALTER TABLE testcourses2 ADD UNIQUE KEY (CourName);
            mysql>SHOW INDEXES FROM testcourses2;

2.创建外键:
            mysql>ALTER TABLE stud ADD FROEIGN KEY (CID) REFENCTS courses(CID);
            mysql>INSERT INTO stud (Name,CourName) VALUES (‘zhaoliu‘,4);

3.创建索引:
            mysql>SHOW INDEXES FROM stud;
            mysql>CREATE INDEX name_on_stud ON stud (Name) USING BTREE;
            mysql>SHOW INDEXES FROM stud;

4.删除索引后重建索引,限定长度为前5个字符,升序排列:
            mysql>DROP INDEX name_on_stdu ON stud;
            mysql>CREATE INDEX name_on_stud ON stud(Name(5) ASC);

5.创建一个视图:
            mysql> CREATE VIEW sct SELECT * FROM sutdents;
            mysql> SHOW TABLES;
            mysql> SHOW TABLES STATUS;

6.显示创建视图的命令:
            mysql>SHOW CREATE sct\G;

时间: 2024-10-09 22:09:57

mysql之索引、视图、约束简单概念的相关文章

视图性能优化——索引视图

视图性能优化——索引视图http://blog.csdn.net/eriato/article/details/41039985 索引视图 索引视图有助于提高 T-SQL 的性能 Itzik Ben-Gan T-SQL 是一种允许您以逻辑方式设计请求的语言.这里所说的“逻辑”的意思是,当编写查询时,您指定的是希望获得什么 结果,而不是希望以何种方式 获得结果.对如何处理查询进行设计是查询优化器的工作.您所遇到的需要 T-SQL 解决方案的每个问题通常都有许多不同的解决方案,它们最终会返回同样的结

联合分组、子查询、视图、事务、python操作mysql、索引

目录 联合分组.子查询.视图.事务.python操作mysql.索引 一.联合分组 二.子查询 三.all 与any:区间修饰条件 四.视图:view 视图的增删改 五.事务 5.1.事务的概念 5.2.事务的四大特性 六.pymysql 模块:python操作mysql 6.1 安装pymysql 模块 6.2 python用pymysql 操作mysql步骤 6.3 游标操作 6.4 pymysql事务 6.5 sql注入 七.索引 联合分组.子查询.视图.事务.python操作mysql.

JAVA-Unit05: 视图、序列、索引 、 约束

Unit05: 视图.序列.索引 . 约束 视图 数据库对象之一 视图在SQL语句中体现的角色与表相同, 但它并非一张真实存在的表,它对应的 是一个查询语句的结果集. 创建一个查看10号部门员工信息的视图: CREATE VIEW v_emp_dept10 AS SELECT ename,sal,job,deptno FROM emp WHERE deptno=10 DESC v_emp_dept10 SELECT * FROM v_emp_dept10 修改视图就是替换该视图对应的子查询. 使

视图、序列、索引、约束

1. 视图 ? 视图定义 视图(VIEW)也被称作虚标,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字. 视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化. 创建视图语法: CREATE [OR REPLACE] VIEW view_name [(alias[,alias-])] AS subquery; 视图创建后,可以像操作表一样操作视图,主要是查询操作. 根据视图所对应的子查询种类分为

简单介绍下MYSQL的索引类型

一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)INDEX(普通索引)      ALTER TABLE `table_name` ADD INDEX index_name ( `column

mysql表属性、索引、约束

1.表属性 创建表的基本语法: create table [if not exists] 表名 (字段列表 [,索引或约束列表])[表选项列表] 其中,字段列表格式如下: 字段名 类型 [属性列表], 字段名 类型 [属性列表]... 属性列表中各个属性之间用空格隔开. 常用的字段属性: auto_increment 设置字段值自动增长,用于整数类型 primary key 设置字段为主键,此时该字段的值可以“唯一确定”一行数据 unique key 设置字段为唯一的,在整个数据表中不会重复 n

mysql数据库索引和视图,触发器

索引简介  跟存储引擎有很大关系其实就是一种排序,生成一种算法,索引主要用在大数据量的时候使用,数据小根本没必要 索引在mysql中也叫做键,是存储引擎用于快速找到记录的一种数据结构,索引对于良好的性能非常关键,尤其是当表中的数据量越来越大的时候,索引对于性能的影响越发重要. 索引优化应该是最查询性能优化的最有效的手段了,索引能够轻易将查询性能提高好几个数量级. 索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则要从几百页中逐页去查. 索引优缺点 优点 加快访问速度 加强行的唯一性 缺

简单介绍下MYSQL的索引

本文介绍了七种MySQL索引类型.在数据库表中,对字段建立索引可以大大提高查询速度.通过善用这些索引,可以令MySQL的查询和运行更加高效. 一.介绍一下索引的类型 Mysql常见索引有:主键索引.唯一索引.普通索引.全文索引.组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)

Mysql与索引有关的树的概念

1.简单地认识下与索引有关的数据结构: 树的简单概念:由n个节点组成具有层次关系的集合,根朝上叶朝下 树的特点:每个节点有0或多个子节点,无父节点称为根节点,每个非根节点有且只有一个父节点,每个节点可分为多个不相交的子树(父节点除外) 二叉树的简单概念:每个节点最多有2个子树的树结构,有左右子树之分 二叉查找树的简单概念:二叉树的前提下,左子树上所有节点的值均小于/等于其父节点的值,右子树上所有几点的值均大于/等于其父节点的值,左右子树也分别为二叉查找树 二叉查找树的查找步骤:小于往左,大于往右