0
点赞
收藏
分享

微信扫一扫

网络安全 Day31-运维安全项目-容器架构下

西红柿上校 2023-08-15 阅读 43

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);

 

DELETE   实现数据的  删除

语法:DELETE   FROM    ___表名____  WHERE   CONDITION;

UPDATE   实现数据的  更新

语法:UPDATE   表名   SET   列名=值   WHERE   CONDITION;


DQL

在MySQL管理软件中,可以通过SQL语句中的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.条件查询

4.排序查询

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*7=35行)

生成笛卡尔积,它不使用任何匹配条件

b.内连接

特点:两列相同时,才会显示

语法:SELECT 字段列表  FROM 表1 , 表2  WHERE    表1.字段 = 表2.字段;

c.外连接

特点:两列相同时显示,并,已左/右表为主。

语法:A表                left join                B表                on            条件是

子查询:

子查询是指:父查询 需要 依赖  子查询的结果。
子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字
还可以包含比较运算符:= 、 !=、> 、<等

EXISTS关字键字表示存在。在使用EXISTS关键字时,内层查询语句不返回查询的记录,而是返回一个真假值。
Ture或False,当返回Ture时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询

举报

相关推荐

0 条评论