外连接

SQL 数据库应用说明

痴心易碎 提交于 2019-11-26 18:40:45
一、基础 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类型的长度。

图解MySQL 内连接、外连接、左连接、右连接、全连接……太多了

孤者浪人 提交于 2019-11-26 12:57:06
https://blog.csdn.net/plg17/article/details/78758593 **************************************************************** 用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。 MySQL版本:Server version: 5.6.31 MySQL Community Server (GPL) 数据库表:a_table、b_table 主题:内连接、左连接(左外连接)、右连接(右外连接)、全连接(全外连接) 前提 建表语句: CREATE TABLE `a_table` ( `a_id` int(11) DEFAULT NULL, `a_name` varchar(10) DEFAULT NULL, `a_part` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 CREATE TABLE `b_table` ( `b_id` int(11) DEFAULT NULL, `b_name` varchar(10) DEFAULT NULL, `b_part`

mysql知识点

限于喜欢 提交于 2019-11-26 10:29:13
sql注入问题 sql语句应该考虑哪些安全性问题 防止sql注入,对特殊字符进行过滤、转义或者使用预编译的sql语句绑定变量 当sql语句运行报错时,不要把数据库返回的错误信息全部显示给用户,以防止泄露服务器和数据库相关信息 sql注入 如果sql语句在拼接的情况下,使得查询永远成立,如拼接上 or '1'='1',会发生不安全问题 解决办法: 参数绑定:不拼接字符串,使用preparedStatement,参数使用set方法进行填装 检查变量的数据类型:如sql语句类似where id={$id},数据库中所有的id都是数字,那么在执行sql语句前,要保证ID是int类型 所有的sql语句都封装在存储过程中 存储过程 一些编译好的sql语句,这些sql语句代码向一个方法一样实现一些功能,然后再给这些代码块取一个名字,在用到这个功能的时候调用它即可。 优点 存储过程因为SQL 语句已经预编译过了,因此运行的速度比较快。 存储过程在服务器端运行,减少客户端的压力。 允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次,类似方法的复用。 减少网络流量,客户端调用存储过程只需要传存储过程名和相关参数即可,与传输SQL 语句相比自然数据量少了很多。 增强了使用的安全性,充分利用系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制

MySQL数据库多表查询

点点圈 提交于 2019-11-25 16:56:42
目录 MySQL数据库多表查询 多表查询 子查询 联合查询 交叉连接 内连接 外连接 左外连接 left outer 右外链接:right outer 完全外连接 三张表查询 自连接 MySQL数据库多表查询 多表查询 查询结果来自于多张表,即多表查询 子查询:在SQL语句嵌套着查询语句,性能较差,基于某语句的查询结果再次进行的查询 联合查询:UNION 交叉连接:笛卡尔乘积 内连接: 等值连接:让表之间的字段以“等值”建立连接关系 不等值连接:不等值连接查询就是无条件判断,若查询多个表内的数据,其中的数据不会同步,各自把各自的展现出来,没有任何关联。 自然连接:去掉重复列的等值连接 外连接: 左外连接:FROM tb1 LEFT JOIN tb2 ON tb1.col=tb2.col 右外连接:FROM tb1 RIGHT JOIN tb2 ON tb1.col=tb2.col 自连接:本表和本表进行连接查询 子查询 常用在WHERE子句中的子查询 用于比较表达式中的子查询;子查询仅能返回单个值(查询s1表中大于平均年龄的人) MariaDB [hellodb]> select * from s1 where age > (select avg(age) from s1); +-------+--------------+-------+-----+--------+------