美文网首页
mysql范式和约束和单表查询

mysql范式和约束和单表查询

作者: 俗人彭jin | 来源:发表于2022-01-27 18:25 被阅读0次

关系型数据库的范式

1.唯一性

2.原子性

3.关联性

字段约束

image.png

-- 一. 主键约束——PRIMARY KEY
-- 二. 外键约束——FOREIGN KEY
-- 三. 唯一约束——UNIQUE KEY
-- 四. 非空约束 NOT NULL


-- CREATE TABLE t_teacher(
--   id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
--   name VARCHAR(20) NOT NULL,
--   tel CHAR(11) NOT NULL UNIQUE,
--   married BOOLEAN NOT NULL DEFAULT FALSE
-- );

-- CREATE TABLE t_dept(
--  deptno INT UNSIGNED NOT NULL PRIMARY KEY,
-- --   deptno INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
--  dname VARCHAR(20) NOT NULL UNIQUE,
--  tel CHAR(11) NOT NULL UNIQUE
-- );

-- CREATE TABLE t_emp(
--  empno INT UNSIGNED NOT NULL PRIMARY KEY,
--  empame VARCHAR(20) NOT NULL,
--  sex ENUM("男","女") NOT NULL,
--  tel CHAR(11) NOT NULL UNIQUE,
--  deptno INT UNSIGNED NOT NULL,
--  hiredate DATE NOT NULL,
    #外键约束 
--  FOREIGN KEY (deptno) REFERENCES  t_dept(deptno)
-- );

数据库索引

#数据库索引
--  CREATE TABLE t_message (
--  id INT UNSIGNED NOT NULL PRIMARY KEY,
--  content VARCHAR(200) NOT NULL,
--     type ENUM("公告","通报","个人通知") NOT NULL,
--  create_time TIMESTAMP NOT NULL,
--  # 索引
--  INDEX idx_type(type) 
-- );

# 删除数据表里面的索引
-- DROP INDEX idx_type ON t_message;
# 创建数据表里面的索引
-- CREATE INDEX idx_type ON t_message(type);
# 在表里面直接创建索引
ALTER TABLE t_message ADD INDEX idx_type(type);
SHOW INDEX FROM t_message;
image.png

数据查询和分页

image.png
#LIMIT分页(0,20)从下标0的地方,取后面20条
SELECT * FROM `t_emp` LIMIT 0,2;

数据库排序

image.png
image.png
image.png

数据库关键字执行顺序

image.png

数据库去除重复记录DISTINCT

SELECT DISTINCT deptno FROM `t_emp`
image.png image.png

条件查询

image.png
image.png
image.png
# t_emp 表里面查找部门为10和20的年收入>30000的并且已经入职6年以上的员工
-- SELECT  deptno ,empame ,sal,hiredate  FROM `t_emp` WHERE (deptno=10 OR deptno=20) AND sal*12 > 30000 AND DATEDIFF(NOW(),hiredate)/365 >=6
#t_emp 表里面查找部门包含10,20的年收入>30000的并且入职年份大于2010-01-01的员工
SELECT  deptno ,empame ,sal,hiredate  FROM `t_emp` WHERE deptno IN(10,20) AND sal*12 > 30000 AND hiredate > "2010-01-01"
image.png
#t_emp 表里面查找部门工资2000-5000之间,并且empame字段包含张的数据
-- SELECT  deptno ,empame ,sal,hiredate  FROM `t_emp` WHERE sal BETWEEN 2000 AND 5000 AND empame LIKE "%张%"
#t_emp 表里面查找部门工资2000-5000之间,并且empame正则REGEXP
SELECT  deptno ,empame ,sal,hiredate  FROM `t_emp` WHERE sal BETWEEN 2000 AND 5000 AND empame LIKE REGEXP "[azAZ]{4}"
image.png

相关文章

  • mysql范式和约束和单表查询

    关系型数据库的范式 1.唯一性 2.原子性 3.关联性 字段约束 -- 一. 主键约束——PRIMARY KEY-...

  • 001 Mysql的查询, 约束和范式

    DQL: 查询排序order byasc:升序 desc: 降序eg: select * from stu ...

  • 22《MySQL 教程》JOIN 表连接

    前面小节介绍了表的设计三范式和单表的查询,本小节介绍如何将通过多个表进行关联查询数据,其中连表查询包括 LEFT ...

  • MySQL - 聚合、约束和范式

    主键是表中数据的唯一标识,也叫做索引。外键用于与另一张表关联,使得表之间可以进行运算,是关系型数据库的本质。 聚合...

  • mysql2——11-21

    mysql2 mysql查询 查询整个表 从表查精确查询字段 精确查询多个字段AND为必传字段,key和value...

  • MySQL学习笔记二之单表查询与多表查询

    title: MySQL学习笔记二之单表查询与多表查询tags: MySQL 数据库categories: MyS...

  • Python+MySQL数据库操作(PyMySQL)

    安装mysql驱动 连接数据库 建表 插入 查询 Python查询Mysql使用 fetchone() 方法获取单...

  • 5、【MySQL】单表查询

    一、简介 单表查询语法: 重点在于关键字的优先级: 所以,在执行单表查询的时候: 二、where约束 where子...

  • mysql表关系

    mysql数据库 知识要点: 单表查询 子查询 联表查询 事务 在进行查询之前,我们要先建好关系表,并往数据表中插...

  • mysql 学习语句

    MySQL学习笔记 登录和退出MySQL服务器 基本语法 建表约束 主键约束 唯一主键 非空约束 默认约束 外键约...

网友评论

      本文标题:mysql范式和约束和单表查询

      本文链接:https://www.haomeiwen.com/subject/xilahrtx.html