联合查询,DML,DDL(对表和库的操作大全) 这次把上次没有提到的联合查询补充一下,然后主要来讲DML和DDL,就是主要讲一下对表和库的基本操作,例如增删改这些,有针对不同情况的不同方法和例子,复习和速查用起来应该比较方便,继续往下看吧~ 联合查询 将多条查询语句的结果合并成一个结果 用于信息来源于多个表且这些表没有直接的连接关系 语法: 查询语句1 union 查询语句2 union … 特点: eg: 1. 要求多条查询语句的查询列数 2. 要求多条查询语句的每一列的类型和顺序最好一致 3. union会自动去重,用 union on 可以包含重复项 select * from employees where like '%a%' union select * from employees where department_id > 90; 1 2 3 等价于 select * from employees where like '%a%' or where department_id > 90; DML语言 数据操作语言: 插入 insert 修改: update 删除: delete 1.1 插入方式1: 语法:insert into 表名(列名,…) values(值1,…) 特点: 插入值的类型和列类型务必一致 INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(13,'椎名林檎','女','1975-10-12','13256498798',NULL,NULL); 不可以为null的值必须乖乖填好,可以为null的话写列名填值或者不写列名不写值二选一 INSERT INTO beauty(id,NAME,sex,borndate,phone) VALUES(14,'仓桥','女','1970-11-12','13256495238'); 列的顺序可以调换 INSERT INTO beauty(NAME,id,phone,sex) VALUES('桥本环奈',15,'1999-5-6','女'); 列数和值数必须相等 可以省略写列名,意思是默认所有列都要写,且顺序不可以调换,可以为null的写null INSERT INTO beauty VALUES(16,'斋藤飞鸟','女','1998-10-23','13256498798',NULL,NULL); 1.2 插入方式2: 语法:insert into 表名 set 列名1 = 值1,列名2 = 值2,… eg: INSERT INTO beauty SET id = 17,NAME = '安娜苏',phone = '78456611233'; 两种方式差别 方式1可以写多行值value(…),(…)…,方式二不行 方式1支持子查询,而2不支持 eg:这个也算一种有趣的插入方法 insert into beauty (id,name,phone) select 26,'东方朋子','1532456'; 2.1.修改单表记录 语法: update 表名 set 列 = 新值,列 = 新值,… where 筛选条件; 2.2.修改多表记录 语法: update 表1,表2,… 连接条件 set 列名 = 值 where 筛选条件 3.1单行删除 语法: delete from 表名 where 筛选条件 3.2多行删除 语法2: delete 表1的别名,表2的别名 from 表1 别名 where 连接条件 and 筛选条件 3.1单表删除 语法1: truncate table 表名;** truncate不能加where** 语法2: delete from 表名 若有自增长列,用delete删,会从删除处开始,truncate从1开始 truncate删除无返回值,delete有 truncate删除不能回滚 DDL语言(库和表的管理) 库的管理: 1. 库的创建 语法: create database [if not exists]库名; 2. 库的修改(更改字符集utf-8,…) 语法: alter database 库名 character set 新的字符集; 2. 库的删除 语法: drop database [if exists]库名; 4. 创建表() 语法1: create table 表名( 列名 类型 [(长度),约束], … ); 语法2:(可以跨表) create table 表名 select… from … … varchar(长度) 字符型 desc 表名 //查看表 4. 修改表 4.1 修改列名 语法: alter table 表名 change column 旧列名 新列名 【列值类型】 4.2 修改列类型或约束 语法: alter table 表名 modify column 列名 列值新类型 4.3 添加新列 语法: alter table 表名 add column 列名 【列值类型】 4.4 删除列 语法: alter table 表名 drop column 列名 4.1 修改表名 语法: alter table 旧表名 rename to 新表名 5.1 表的删除 语法: drop table if exists 旧表名; create table 表名(); 对照下库的删除 语法: drop database if exists 旧库名; create database 新库名; 6.1表的结构复制 create table 复制库 like 原库; 6.2表的结构内容全复制 create table 复制库 select * from 原库; 6.3表的部分数据 create table 复制库 select … from 原库 where …; 6.4表的部分字段复制 create table 复制库 select … from 原库 where 0; (责任编辑:IT) |