DML数据操作语言之复杂查询】的更多相关文章

一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%storage_engine%'; 1.表中插入数据 #添加课程 INSERT INTO `subject` VALUES (5,'C#',160,1); #插入多门课程 INSERT INTO `subject`(subjectName,classHour,gradeID) VALUES ('数学',…
1.视图(View) 我们知道,在关系型数据库中,用来保存实际数据记录的是数据表.和表同等概念也是用来保存东西是:视图. 但是数据表是用来保存实际数据记录的,而视图是用来保存常用select语句的. 一个视图保存一条select语句. 使用视图的好处: 1.节省存储空间: 一般情况,如果我们希望将某条select语句的执行的结果表保存起来,我们就需要新建一张表,将结果表的数据记录保存在我们新建的这张表中. 这样,如果是少量数据还好,但是如果面对的大量的数据,这样势必会耗费去大量的存储空间. 如果…
DML数据操作语言 用来对数据库中表的数据记录进行更新.(增删改) 插入insert -- insert into 表(列名1,列名2,列名3...) values (值1,值2,值3...):向表中插入某些列 insert into student(sid,name,gender,age,birth,address,score) values (1001,'刘萍','女',16,'2004-08-07','湖南岳阳',100) insert into student(sid,name,gend…
1.数据的增加 数据的增加要用到insert语句  ,基本格式是: insert into <表名> (列名1,列名2,列名3,......) values (值1,值2,值3,......); 其中(列名1,列名2,列名3,......)称为 列清单. 其中 (值1,值2,值3,......)称为 值清单.    列清单 和值清单的 中的列和值必须相互对应. 原则上,执行一次insert语句会插入一行数据记录.但是不同的DBMS对insert语句进行了扩展,可以执行一条insert语句,插入…
当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例外,并不会排除null. 常用的聚合函数有 5个 :               聚合函数 用在select子句中 count(列名)     :   计算表中的数据行数 使用 count(*)  会查出 包含null在内的全部数据行数 . 使用count(某列名) 会查出  该列不包含null在内…
1.select语句基础 基本语句格式:  select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取出数据的表的名称. 查询结果表中列的顺序和select子句中列名的顺序相同. 查询出表中所有的列,可以使用星号(*)来代表所有的列. select * from <表名>; .这样就无法指定查询结果表中列的顺序. 为查询结果表的列名设置别名,使用as: select <列名> as &…
谓词:就是返回值是真值的函数. 前面接触到的“>” “<” “=”等称为比较运算符,它们的正式名称就是比较谓词.因为它们比较之后返回的结果是真值. 由于谓词 返回的结果是一个真值 ,即true , false,unknown,所以常常用在用来筛选记录的where子句 或者 having子句中. 谓词 与 函数的最大区别 : 谓词返回值是真值 ,函数 返回值是数字,字符串,日期等值. 常用的谓词: 1.like  ——字符串的部分一致查询 前方一致: select * from tb_stude…
所谓函数,就是输入某一值,得到相应的输出结果的功能.相当于一个加工厂,给了原料,最终产出成品. 其中原料 就是参数(parameter). 产品 就是返回值. 函数大致可以分为以下五个种类: 算术函数 字符串函数 日期函数 转化函数 聚合函数 1.算术函数 最最最常用的 : +  —  *   /   没想到这也算是函数吧. round函数:四舍五入. round(m,n)  其中m是要处理的数值,n指定保留小数的位数. 假如n指定为2 ,则对数值m保留两位小数,对小数点后第三位进行四舍五入.…
包括 SELECT, UPDATE, DELETE, INSERT SELECT 从数据库表中获取数据 用法 SELECT name FROM students; SELECT name,age FROM students; SELECT * FROM students; DISTINCT 使用 DISTINCT 可以对搜索结果进行去重 SELECT DISTINCT name FROM students; ORDER BY ORDER BY 根据指定的列对结果集进行排序 DESC 倒序.ASC…
--创建表T_HQ_BM2 --create table t_hq_bm2 as select * from t_hq_bm; commit; --添加行内容 --insert into t_hq_bm2 values ('107','研发部','147258369'); commit; --删除部门编码为107的行 --delete t_hq_bm2 where bumenbm = '107'; commit; --添加行内容 --insert into t_hq_bm2 (bumenbm,l…
一.DML数据操作语言 主要用于检索.插入和修改数据库信息.它是最常用的SQL命令,如INSERT(插入).UPDATE(更新).SELECT(选择).DELETE(删除). 1.INSERT插入语句: 语法: INSERT INTO tablename[column1[,column2...]] VALUES (value1[,value2...]); 说明: INSERT INTO:为插入的关键字. tablename:表示要插入的表. column1:可选参数,表示要插入的列,多个列使用,…
一.DML数据操作语言  (DQL  select ) 主要用于检索.插入和修改数据库信息.它是最常用的SQL命令,如INSERT(插入).UPDATE(更新).SELECT(选择).DELETE(删除). 1.INSERT插入语句: 语法: INSERT INTO tablename[column1[,column2...]] VALUES (value1[,value2...]); 说明: INSERT INTO:为插入的关键字. tablename:表示要插入的表. column1:可选参…
上一篇给大家介绍了 hive 的 DDL 数据定义语言,这篇来介绍一下 DML 数据操作语言. 没看过的可以点击跳转阅读: hive从入门到放弃(一)--初识hive hive从入门到放弃(二)--DDL数据定义 数据写入 数据导入部分默认数据文件格式为 textfile,每一列由','进行分割,以换行分行. insert insert 表示向表中插入数据,可以直接插入值,也可以通过查询其他表获取数据插入. INSERT INTO TABLE target_table VALUES (COL1.…
数据操作语言DML(添加,修改,删除) 1.添加数据 insert into insert into 表名 (字段列表) values (值列表),值列表要和字段列表按顺序匹配. insert into 表名 values (值列表),适用于全部字段数据插入,值列表要和字段列表按顺序匹配. 2.修改 update update 表名 set 字段名1=值1, 字段名2=值2... where 条件. 如果不加where条件就是全表更新. 3.删除 delete 选择删除:delete [from…
DDL数据库定义 创建数据库 1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db. hive (default)> create database db_hive; 2)避免要创建的数据库已经存在错误,增加 if not exists 判断.(标准写法) hive (default)> create database if not exists db_hive; 3)创建一个数据库,指定数据库在 HDFS 上存放的位置 hive (de…
mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dname VARCHAR() not null COMMENT '部门名称' )ENGINE=INNODB DEFAULT charset utf8; #添加部门数据 INSERT INTO `dept` VALUES (', '教学部'); INSERT INTO `d…
对表记录的增删改 1.MySQL之DML创建数据表user create table user( id int unsigned not null auto_increment primary key, user_name varchar() not null, password ) not null, email varchar() not null, mobile ) not null, fee ,) not null default 0.00, age tinyint() unsigned…
DML(数据操纵语言)Data Manipulation Language 用于增.删.改 数据库中的数据 常伴随着TCL(事物操作语言)----commit(保存):rollback(回滚): ), name ) ); .向表中插入数据: ,'秦舞阳');----第一种写法 ,"孙悟空"); ----第二种写法(简洁版) commit; -----保存操作 .删除表中的数据: ";---删除stu表里符合where条件的数据,不写where条件则全删; .更改表中的数据 &…
说明: 在linux系统中,利用搭建的服务器,编写两个页面,一个添加信息,一个展现信息: 主要涉及到:php+mysql的操作: 数据添加页面: <html> <head> <meta http-equiv='content-type' content='text/html'; charset='utf-8'> <title> Test Engineer info table add</title> </head> <body&…
基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY order_condition] [DISTRIBUTE BY distribute_condition [SORT BY sort_condition] ] [LIMIT number] 更新: INSERT OVERW…
一.插入数据(INSERT) MariaDB [(none)]> help insertName: 'INSERT'Description:Syntax:INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_nam…
插入insert 插入方式1 语法: insert into 表名(列名,....) values(值1,....) 说明: 1.插入的值的类型要与列的类型一致或兼容 2.可以为null的值:①列写了值为NULL②列值都不写 3.列和值的个数需要对应 4.可以省略列名,默认所有列,列的顺序和表中列的顺序一致 int类型写成了字符型,会自动转换为int类型 插入方式2 语法: insert into 表名 set 列名=值,列名=值... 两种方式的区别 1.方式一支持一次性插入多行values(…
1.Insert语句: INSERT [INTO] table [(column1, column2, column3, . . .)] VALUES(value1, value2, value3, . . .); 例:INSERT INTO user VALUES(NULL, 'test', '123456'); 例:INSERT INTO user (username, password) VALUES('test', '123456'); 实际上另一种方式: 例:INSERT INTO u…
1.查询语句 SELECT 1.1.查询语句的 SELECT 子句 1.2.查询语句的 FROM 子句 1.2.1.内连接查询 INNER JOIN 1.2.2.外连接查询 OUTER JOIN 1.2.3.交叉连接查询 CROSS JOIN 1.3.查询语句的 WHERE 子句 1.4.查询语句的 ORDER BY 子句 2.插入子句 INTO 2.1.查询语句的 INTO 子句 2.2.INSERT INTO SELECT 与 SELECT INTO 3.本文小结 1.查询语句 SELECT…
单表查询 一.简单查询 -- 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMENT, `name` varchar() NOT NULL, `age` tinyint() DEFAULT ', `sex` enum('男','女','人妖') NOT NULL DEFAULT '人妖', `salary` ,) NOT NULL DEFAULT '250.00', `hi…
一. 数据导入 1. 语法 load data [local] inpath 'path' [overwrite] into table table_name [partition (partcol1=val1,…)]; 1). load data:表示加载数据 2). local:表示从本地加载数据到hive表:否则从HDFS加载数据到hive表 3). inpath:表示加载数据的路径 4). overwrite:表示覆盖表中已有数据,否则表示追加 5). into table:表示加载到哪…
(1)单表查询 1)环境准备 mysql> CREATE TABLE company.employee5( id int primary key AUTO_INCREMENT not null, name varchar(30) not null, sex enum('male','female') default 'male' not null, hire_date date not null, post varchar(50) not null, job_description varcha…
目录 一.添加数据(insert) 二.查询数据(select) 三.更新数据(update) 三. 删除数据(delete) 一.添加数据(insert) INSERT INTO 用于向数据库的某个表中添加数据. -- 语法 1 INSERT INTO table_name (column1, column2, ... ,columnN) VALUES (value1, value2, ... , valueN); -- 语法 2 -- 当为表里所有列添加数据时,可以省略列名.但值要与列名顺序…
(1)准备环境 1)创建员工表 mysql> create table company.employee6( -> emp_id int auto_increment primary key not null, -> emp_name varchar(10), -> age int, -> dept_id int); mysql> insert into employee6(emp_name,age,dept_id) values -> ('tom',19,200…
-- DELETE语句 -- 删除10部门中,工龄超过20年的员工记录 DELETE FROM t_emp WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/365>=20; -- 删除20部门中工资最高的员工记录 DELETE FROM t_emp WHERE deptno=20 ORDER BY sal+IFNULL(comm,0) DESC LIMIT 1; -- 删除SALES部门和该部门的全部员工记录 DELETE e,d FROM t_emp…