质量好网站建设费用,wordpress 评论编辑器,东莞住房与城乡建设官网,给孩子做衣服的网站DML/DQL
DML INSERT 实现数据的 插入 实例#xff1a; DELETE 实现数据的 删除 实例#xff1a; UPDATE 实现数据的 更新 实例1#xff1a; 实例2#xff1a; 实例3#xff1a;
DQL DML/DQL DML语句 数据库操纵语言#xff1a; 插入数据INSERT、删除数据DELE… DML/DQL
DML INSERT 实现数据的 插入 实例 DELETE 实现数据的 删除 实例 UPDATE 实现数据的 更新 实例1 实例2 实例3
DQL DML/DQL DML语句 数据库操纵语言 插入数据INSERT、删除数据DELETE、更新数据UPDATE DQL语句 数据库查询语言查询数据SELECT DML INSERT 实现数据的 插入
语法完整插入 INSERT INTO ___表名___ VALUES(值1,值2,值3...值n); 部分插入 INSERT INTO ___表名___ (列名,列名) VALUES(值1,值2); 实例 1.首先创建一个表 2.插入数据 DELETE 实现数据的 删除
语法DELETE FROM ___表名____ WHERE CONDITION; 实例 .删除数据 UPDATE 实现数据的 更新
语法UPDATE 表名 SET 列名值 WHERE CONDITION; 实例1 1.准备一张表 mysql create table t6(id int, name varchar(20)); 2.插入数据 mysql insert into t6 values (1,aa);mysql insert into t6 values (2,bb); 3.更新数据 -----把bb 改成 cc mysql update t6 set namecc where id2; 4.查询结构 mysql select * from t6; 实例2 更新数据库的登录密码 mysql update mysql.user set authentication_stringpassword(QianFeng123456) where userroot; 实例3 DQL
在MySQL管理软件中可以通过SQL语句中的DQL语言来实现数据的 从数据表中提取满足特定条件的记录 单表查询多表联合查询 DQL基础语法 实例
1.首先创建一个表
mysql create database company;
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 varchar(100),salary double(15,2) not null,office int,dep_id int); 插入数据
mysql insert into company.employee5(name,sex,hire_date,post,job_description,salary,office,dep_id) values (jack,male,20180202,instructor,teach,5000,501,100),(tom,male,20180203,instructor,teach,5500,501,100),(robin,male,20180202,instructor,teach,8000,501,100),(alice,female,20180202,instructor,teach,7200,501,100),(aofa,male,20180202,hr,hrcc,600,502,101),(harry,male,20180202,hr,NULL,6000,502,101),(emma,female,20180206,sale,salecc,20000,503,102),(christine,female,20180205,sale,salecc,2200,503,102),(zhuzhu,male,20180205,sale,NULL,2200,503,102),(gougou,male,20180205,sale,,2200,503,102); 2.简单查询
#查看所有列
SELECT * FROM 表名;#查部分列
SELECT 列1列2列3 FROM 表名;#通过四则运算查询查看年薪SELECT name, salary, salary*14 FROM employee5;
3.条件查询 单条件查询 WHERE a.查询hr部门的员工姓名 SELECT name,post FROM employee5 WHERE posthr; 多条件查询AND/OR a.查询hr部门的员工姓名并且工资大于1000 SELECT name,salary FROM employee5 WHERE posthr AND salary1000; b.查询所有部门的员工姓名并且工资是6000或者8000的员工 SELECT name, salary FROM employee5 WHERE salary6000 OR salary8000 关键字BETWEEN AND 在什么之间 a.需求查一查薪资在5000到15000 SELECT name,salary FROM employee5 WHERE salary BETWEEN 5000 AND 15000; b.需求不在5000~15000呢请使用NOT SELECT name,salary FROM employee5 WHERE salary NOT BETWEEN 5000 AND 15000; 关键字IN集合查询 a.工资可能是4000也可能是5000还有可能是9000怎么查 OR可以组合多条件效率如何
SELECT name, salary FROM employee5 WHERE salary4000 OR salary5000 OR salary6000 OR salary9000 ; 关键字IS NULL a.没有岗位描述的 空
SELECT name,job_description FROM employee5 WHERE job_description IS NULL; 非空
SELECT name,job_description FROM employee5 WHERE job_description IS NOT NULL; 关键字LIKE模糊查询 a.好像有个员工姓阿 SELECT * FROM employee5 WHERE name LIKE al%;SELECT * FROM employee5 WHERE name LIKE al___; 4.排序查询 实例 a.例如以工资升序排列 SELECT * FROM 表名 ORDER BY 工资的列名 ASC; b.例如以工资降序排列 SELECT * FROM 表名 ORDER BY 工资的列名 DESC; c.工资最高的前五名 SELECT * FROM employee5 ORDER BY salary DESC LIMIT 5; 5.多表查询 创建员工信息表
#创建表结构
create table info(
name char(50),
age int,
dep_num int,
level_num int);#查询表结构
desc info;#插入数据
insert into info values
(zhangsan,23,101,1),
(lisi,25,102,2),
(wangwu,30,102,3),
(zhaosi,30,103,4),
(sunba,35,NULL,NULL);#查询表
select * from info;
创建部门信息表
#创建表结构
create table department(
dep_num int,
dep_name varchar(50),
dep_des varchar(100));#插入数据
insert into department values
(101,hr,recruit,training),
(102,tec,system,network,service),
(103,exp,C,python,php),
(104,admin,administrator);#查看表结构
desc department;#查看表
select * from department;
示图 多表的连接查询
a.交叉连接
特点全部组合A表5行B表7行最后5*735行
生成笛卡尔积它不使用任何匹配条件 select info.name,info.age,info.dep_num,department.dep_name from info,department; b.内连接
特点两列相同时才会显示
语法SELECT 字段列表 FROM 表1 , 表2 WHERE 表1.字段 表2.字段; select info.name,info.age,info.dep_num,department.dep_name from info,department where info.dep_num department.dep_num; c.外连接
特点两列相同时显示并已左/右表为主。
语法A表 left join B表 on 条件是 外连接(左连接 left join on) 找出所有员工及所属的部门包括没有部门的员工 查看所有员工的部门信息。 select info.name,info.age,info.dep_num,department.dep_name from info left join department on info.dep_num department.dep_num; 外连接(右连接right join on) 显示所有的部门的员工信息。 select info.name,info.age,info.dep_num,department.dep_name from info right join department on info.dep_num department.dep_num; 子查询
子查询是指父查询 需要 依赖 子查询的结果。 子查询中可以包含IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字 还可以包含比较运算符 、 !、 、等
EXISTS关字键字表示存在。在使用EXISTS关键字时内层查询语句不返回查询的记录而是返回一个真假值。 Ture或False当返回Ture时外层查询语句将进行查询当返回值为False时外层查询语句不进行查询 1. 带IN关键字的子查询范围 查询员工年龄大于等于25岁的部门 select dep_num,dep_name from department where dep_num in (select distinct dep_num from info where age 25); 2. 带EXISTS关键字的子查询返回值 如果部门101存在返回为真查询所有员工信息。 trueselect * from info where exists (select * from department where dep_num102);falseselect * from info where exists (select * from department where dep_num105);