外连接

MySQL学习笔记(三)

无人久伴 提交于 2019-12-14 10:09:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 五、多表查询 主、从表: 如果表A的主关键字(primary key)是表B的字段,则该字段称为表B的外键。 外键:用来实现参照完整性的,不的外键约束方式将可以使两张表紧密的结合起来,特别 修改或者删除的级联操作 外键约束 作用:保证数据完整性 (***) 添加外键: alter table 表名 add foreign key 当前表名(dno) references 关联的表 (did); ### 表间关系(表记录与另一有记录的关系)(专门人, 建模工具ER) 1:1 设计: 一般设计一张表就可以,有时根据业务的需要拆分多张表形成一对一 案例:用户基础信息,用户详细信息 原则:主键对应,唯一外键对应 n:n|n:m|*:* 案例:学生选择的课程,课程对应多个学生 1:n|1:* 案例:部门与员工 ### 外连接 1. 左外连接(把左表所有的数据查询出来) 前提:要有外键 语法: left [outer] join A表.字段 on B表.字段 select * from dept t1 left join emp t2 on t1.did = t2.dno; 2. 右外连接 前提:要有外键 语法: right [outer] join A表.字段 on B表.字段 select * from dept t1

数据库进阶

半腔热情 提交于 2019-12-12 10:10:14
一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

数据库的基本操作

﹥>﹥吖頭↗ 提交于 2019-12-12 10:09:16
1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明

MySQL修改表列名

亡梦爱人 提交于 2019-12-06 22:31:04
京东2016实习生招聘 Java开发工程师 在MySql中,如果要修改表的列名,下列语句的语法正确的是 A ALTER TABLE 表名字 CHANGE 列名称 新列名称 B ALTER TABLE 表名字 ALTER 列名称 新列名称 C ALTER TABLE 表名字 MODIFY列名称 新列名称 D ALTER TABLE 表名字 列名称 新列名称 正确答案 : A 知识点 修改某个表的字段类型及指定为空或非空 alter table 表名称 change 字段名称 新字段名称 字段类型 [是否允许非空]; alter table 表名称 modify 字段名称 字段类型 [是否允许非空]; 扩展 创建数据库 > CREATE DATABASE database-name 删除数据库 >drop database dbname 查询所有数据表 >show tables; 查询表的字段信息 > desc 表名称; 添加表字段 >alter table table1 add transactor varchar( 10 ) not Null; >alter table table1 add id int unsigned not Null auto_increment primary key 如果要删除某一字段,可用命令: >ALTER TABLE 表名称 DROP 字段名;

连接查询一:基本概念与用法

為{幸葍}努か 提交于 2019-12-06 12:19:25
示例数据: 连接(JOIN) 所谓连接就在表关系的笛卡儿积数据记录中,按照相应字段值的比较条件进行选择生成一个新的关系。连接分为内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接(CROSS JOIN). 内连接(INNER JOIN) 自然连接(NATURAL JOIN):自然连接操作就是表关系的笛卡儿积中, 根据表关系中相同名称的字段自动进行记录匹配(同名字段值相等),然后去掉重复的字段。 等值连接:等值连接操作就是表关系的笛卡儿积中,选择所匹配字段值相等(=符号)的数据记录。 不等连接:不等连接操作就是表关系的笛卡儿积中, 选择所匹配字段值不相等(!-符号)的数据记录。 外连接(OUTER JOIN) 所谓外连接(OUTER JOIN),就是在表关系的笛卡儿积数据记录中,不仅保留表关系中所有匹配的数据记录,而且还会保留部分不匹配的数据记录。按照保留不匹配条件数据记录来源可以分为左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。 左外连接操作就是表关系的笛卡儿积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录。 (右表不存在的字段为null) 右外连接操作就是表关系的笛卡儿积中,除了选择相匹配(相等)的数据记录,还包含关联右边表中不匹配的数据记录。

mysql-数据库增删改查

故事扮演 提交于 2019-12-06 10:20:32
增删改查 mysql数据操作:DML 在mysql管理软件中,可以通过sql语句的DML语言来实现数据的操作: INSERT插入数据 UPDATE更新数据 DELETE删除数据 SELECT查询数据 插入数据 insert 语法 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段一,字段二,字段n) VALUES(值1,值2,值n); 语法二: INSERT INTO 表名 VALUES(值1,值2,值n); 2. 指定字段插入数据 语法: INSERT INTO 表名(字段2,字段3,字段n) VALUES(值1,值2,值3); 3. 插入多条记录 语法: INSERT INTO 表民 VALUES (值1,值2,值3), (值1,值2,值3), (值1,值2,值3); 4. 插入查询结果 语法: INSERT INTO 表民(字段1,字段2,字段3) SELECT 字段1,字段2,字段3 FROM 表2; 更新数据 update 语法 语法: UPDATE 表名 SET 字段1=值1, 字段2=值2, WHERE 条件; 示例: 密码加密时password需要加密 所以需要使用password=password('明文密码') 正常加载数据时 只需要=新的值即可 UPDATE mysql.user SET password=password('123'

连接查询一:基本概念与用法

不想你离开。 提交于 2019-12-05 12:16:21
示例数据: 连接(JOIN) 所谓连接就在表关系的笛卡儿积数据记录中,按照相应字段值的比较条件进行选择生成一个新的关系。连接分为内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接(CROSS JOIN). 内连接(INNER JOIN) 自然连接(NATURAL JOIN):自然连接操作就是表关系的笛卡儿积中, 根据表关系中相同名称的字段自动进行记录匹配(同名字段值相等),然后去掉重复的字段。 等值连接:等值连接操作就是表关系的笛卡儿积中,选择所匹配字段值相等(=符号)的数据记录。 不等连接:不等连接操作就是表关系的笛卡儿积中, 选择所匹配字段值不相等(!-符号)的数据记录。 外连接(OUTER JOIN) 所谓外连接(OUTER JOIN),就是在表关系的笛卡儿积数据记录中,不仅保留表关系中所有匹配的数据记录,而且还会保留部分不匹配的数据记录。按照保留不匹配条件数据记录来源可以分为左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。 左外连接操作就是表关系的笛卡儿积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录。 (右表不存在的字段为null) 右外连接操作就是表关系的笛卡儿积中,除了选择相匹配(相等)的数据记录,还包含关联右边表中不匹配的数据记录。

连接查询一:基本概念与用法

一曲冷凌霜 提交于 2019-12-05 12:15:32
示例数据: 连接(JOIN) 所谓连接就在表关系的笛卡儿积数据记录中,按照相应字段值的比较条件进行选择生成一个新的关系。连接分为内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接(CROSS JOIN). 内连接(INNER JOIN) 自然连接(NATURAL JOIN):自然连接操作就是表关系的笛卡儿积中, 根据表关系中相同名称的字段自动进行记录匹配(同名字段值相等),然后去掉重复的字段。 等值连接:等值连接操作就是表关系的笛卡儿积中,选择所匹配字段值相等(=符号)的数据记录。 不等连接:不等连接操作就是表关系的笛卡儿积中, 选择所匹配字段值不相等(!-符号)的数据记录。 外连接(OUTER JOIN) 所谓外连接(OUTER JOIN),就是在表关系的笛卡儿积数据记录中,不仅保留表关系中所有匹配的数据记录,而且还会保留部分不匹配的数据记录。按照保留不匹配条件数据记录来源可以分为左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。 左外连接操作就是表关系的笛卡儿积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录。 (右表不存在的字段为null) 右外连接操作就是表关系的笛卡儿积中,除了选择相匹配(相等)的数据记录,还包含关联右边表中不匹配的数据记录。

《MySQL 数据库 基础笔记----power node》

≡放荡痞女 提交于 2019-12-05 11:19:57
《MySQL 数据库 基础知识 笔记---power node》 常用的基本指令应用 跨表查询 表相关指令 约束 级联更新与级联删除 存储引擎 视图 DBA指令(了解) 数据库设计三范式 事务 Mysql事务提交实例 事务的隔离级别 常用的基本指令应用 数据库管理系统:DBMS 数据库:DB SQL语句分类: DQL语句 :DataBase Query language数据查询语句select DML语句 :数据操作语句 insert 、update、delete DDL语句: 数据库定义语句 create、drop、alter TCL语句: transaction control language事务控制语言,commit rollback 常用指令 : 查看mysql版本:select version(); 查看所有数据库:show databases; 使用某一个数据库:use 数据库名; 查看所有的表:show tables; 创建数据库: create database 数据库名; 查看当前表在哪个数据库下:select database(); 查看某张表的结构: desc 表名; 查询某个表的某个字段信息:select 字段名 from 表名; 查询表的多个字段信息:select 字段名1,字段名2 from 表名; 查询某个字段的倍数:例如月薪乘12:select

07链接查询

痞子三分冷 提交于 2019-12-04 23:55:44
1 #连接查询 2 /* 3 含义:又称多表表查询,当查询的字段来自多表时,就会用到连接查询 4 5 笛卡尔乘积现象:表1 有m行,表二有n行,结果=n*m行 6 7 发生原因:没有有效的连接条件 8 如何避免:添加有效的连接条件 9 10 分类 : 11 按年份: 12 aq192标准 :仅仅支持内链接 13 aq199标准【推荐】:支持内链接 + 外连接(左外 + 右外) + 交叉连接 14 按功能分类: 15 内链接: 16 等值连接 17 费等值连接 18 自连接 19 外连接: 20 左外连接 21 右外连接 22 全外连接 23 叫擦连接 24 25 */ 26 27 SELECT NAME ,boyName FROM boys,beauty 28 29 WHERE beauty.boyfriend_id = boys.id; 30 31 #一.sq92标准 32 33 #1.等值连接 34 /* 35 1).夺标等值连接的结果为多表的交集部分 36 2).n表连接至少需要n-1个连接条件 37 3).多表的顺序没有要求 38 4).一般需要为表其别名 39 5).可以搭配前面介绍的字句使用 排序 分组 筛选 40 */ 41 42 #案例1:查询女神对应的男神名 43 SELECT NAME,boyName 44 FROM boys,beauty 45 WHERE