【从零开始学习MySql数据库】(5)约束视图与索引
来源:互联网 发布:手机铃声制成软件 编辑:程序博客网 时间:2024/05/16 00:25
-- 主键约束:PRIMARY KEY=不重复+不为NULL;-- (列级约束条件) CREATE TABLE dept_dylan ( dept_id INT (2) PRIMARY KEY, dept_name VARCHAR (20), dept_location VARCHAR (40));-- 数据准备 INSERT INTO dept_dylanVALUES (10, 'developer', 'beijing');INSERT INTO dept_dylanVALUES (10, 'market', 'shenzhen');-- 表级约束条件:建议约束命名规则:表名_列名_约束条件的类型CREATE TABLE dept_dylan2 ( dept_id INT (2), dept_name VARCHAR (20), dept_location VARCHAR (40), CONSTRAINT dept_dylan2_pk PRIMARY KEY (dept_id));-- 数据准备 INSERT INTO dept_dylan2VALUES (10, 'developer', 'beijing');INSERT INTO dept_dylan2VALUES (10, 'market', 'shenzhen');SELECT *FROM dept_dylan2;-- 非空约束( not null , 简称 NN ) ** 非空约束只能定义在列级CREATE TABLE student_dylan ( id INT (4) PRIMARY KEY, NAME VARCHAR (10) NOT NULL, age INT (3));INSERT INTO student_dylanVALUES (1, 'zhangwei', 20);INSERT INTO student_dylanVALUES (2, 'zhangwei', 19);INSERT INTO student_dylanVALUES (3, NULL, 19);SELECT *FROM student_dylan;-- 给非空约束命名DROP TABLE student_dylan;CREATE TABLE student_dylan ( id INT (4) PRIMARY KEY, NAME VARCHAR (10) NOT NULL, age INT (3));CREATE TABLE student_ning2 ( id INT (4), NAME VARCHAR (10) NOT NULL, email VARCHAR (30), age INT (2), CONSTRAINT student_ning2_id_pk PRIMARY KEY (id), CONSTRAINT student_ning2_email_uk UNIQUE (email)) CREATE TABLE student_ning3 ( id INT (4) PRIMARY KEY, NAME VARCHAR (10) NOT NULL, email VARCHAR (30) UNIQUE, age INT (2) CHECK (age > 10), gender CHAR (1) CHECK (gender IN('F', 'M')) -- 'F'代表女生 ;'M'代表男生);-- 创建视图, 视图的定义是一个数据表的子集CREATE VIEW v_emp_dylan AS SELECT emp_id, NAME, jobFROM emp_testWHERE dept_test_id = 20;DESC v_emp_dylan;SELECT *FROM v_emp_dylan;-- 创建视图 , 视图的定义是一个复杂查询语句CREATE VIEW v_emp_count AS SELECT emp_id, count(*) emp_numFROM emp_testGROUP BY dept_test_id;DESC v_emp_count;SELECT *FROM v_emp_count;-- 视图可以使用 CREATE OR REPLACE 来创建或覆盖,并可查询视图的定义。 CREATEOR REPLACE VIEW v_emp_count AS SELECT dept_test_id, count(*) emp_num, sum(salary) sum_s, avg(IFNULL(salary, 0)) avg_s, max(salary) max_s, min(salary) min_sFROM emp_testGROUP BY dept_test_id;SELECT *FROM v_emp_count;-- 索引 Index *-- index :用来提高查询效率的机制-- 全表扫描方式( Full Table Scan ):查询效率极低-- 索引查询:比全表扫描快-- 索引的结构:数据+地址( 如:张三+Room203 )-- 注意:对亍数据变更频繁(DML 操作频繁)的表 , 索引会影响查询性能-- 自劢创建索引:-- 如果数据表有 PK/Unique 两种约束 , 索引自劢创建 , 除此以外 , 索引必须手劢创建-- 自定义索引语法:-- create index 索引名 on 表名(列名) ;-- 表的主键和唯一约束条件 , 会自动创建索引create table student_ning7(id INT(4),name char(20),email char(40),constraint stu_n7_id_pk primary key(id),constraint stu_n7_email_uk unique(email)) create index idx_stu7_nameon student_ning7(name) ;select * from student_ning7where name = 'zhangsan' ;
0 0
- 【从零开始学习MySql数据库】(5)约束视图与索引
- 【从零开始学习Oracle数据库】(5)约束视图与索引
- MySql数据库约束视图与索引(5)
- Mysql 数据库 (5)约束视图与索引
- Oracle数据库学习(五)--视图,序列,索引,约束
- 数据库索引与约束
- MySQL 约束与索引
- 数据库_视图、序列、索引、约束
- 视图与数据库完整性约束
- MySQL视图与索引
- 【数据库8】索引与约束
- mysql学习day03(事物、视图、索引、部分数据库设计)
- 视图、序列、索引 、约束
- mysql 学习记录---->索引、视图
- MySQL之索引与视图
- MySQL的视图与索引
- 【从零开始学习MySql数据库】(1)建表与简单查询
- Day54、约束(主键约束、唯一约束、检查约束、非空约束)、数据库对象(序列、索引、视图、分页)
- Nutz学习之初始化数据库遇到的问题
- Android 最简单动画实现(imageView,webview的进入和退出)
- 手机适配
- 复习
- C语言——把自己编程实现字符串函数strstr
- 【从零开始学习MySql数据库】(5)约束视图与索引
- codeforces round 355 div2 D Vanya and Treasure Dp 二维线段树
- visual studio 调试状态下,局部变量窗口不显示某些变量的设置
- 欢迎使用CSDN-markdown编辑器
- VSCODE 插件初探,顺便还有博主的写的背景图插件
- 图片的放大或缩小
- ubuntu通过apt-get安装JDK8
- 开源中国翻译频道链接收藏
- Socket