SQL语言

DML语句
一.目的:在MySQL管理软件中,DDL已经定义了数据库结构。可以通过SQL语言中的DML语句来实现数据的操作,包括使用。
INSERT 实现数据的 插入
DELETE 实现数据的 删除
UPDATE 实现数据的 更新。
二.插入数据INSERT
完整插入
语法 INSERT INTO 表名 VALUES (值1,值2,值3…值n);
操作在这里插入图片描述部分插入
语法 INSERT INTO 表名(列名,列名) VALUES (值1,值2);
操作
insert into t1(id, name) values(1,‘aa’);
三.更新数据UPDATE
语法 UPDATE 表名 SET 列名=值 WHERE CONDITION;(条件)
示例1
准备一张表`mysql> create table t2(id int, name varchar(20)); Query OK, 0 rows affected (0.07 sec)

mysql> insert into t2 values(1,‘aa’);
Query OK, 1 row affected (0.00 sec)

mysql> insert into t2 values(2,‘bb’);
Query OK, 1 row affected (0.00 sec)
`
更新数据需求:把bb改成cc

sqlmysql> update t2 set name=‘cc’ where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
查询结果`mysql> select * from t2;
±-----±-----+
| id | name |
±-----±-----+
| 1 | aa |
| 2 | cc |
±-----±-----+
2 rows in set (0.00 sec)

示例2修改mysql数据库管理员root账户的密码。
mysql> update mysql.user set authentication_string=password(“QianFeng@123456”) where user=“root”;

四.删除数据delete
语法:DELETE   FROM    表名   WHERE   CONDITION;
示例:需求:删除id为2 的用户记录。
mysql> delete   from  t2  where  id=2;
Query OK, 1 row affected (0.00 sec)

DQL语言
目的:在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的,SELECT 查询操作。
MySQL查询
一.准备环境
素材在这里插入图片描述结构语句:创建库 create database company;
进入库 use company
创建表 create table 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
);

查看表结构 desc employee5;
插入数据 insert into 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);
一、简单查询
查看所有列,需要进入数据库,如果不进入数据库,就请输入库名。
SELECT * FROM 表名;
查部分列 SELECT 列1,列2,列3 FROM 表名;
通过四则运算查询 加减乘除
二.条件查询
1.单条件查询where
查询sale部门的员工姓名
mysql> select name,post from employee5 where post=‘sale’;
±----------±-----+
| name | post |
±----------±-----+
| emma | sale |
| christine | sale |
| zhuzhu | sale |
| gougou | sale |
| zhangsan | sale |
±----------±-----+
5 rows in set (0.00 sec)
``

2.多条件查询AND/OR
查询hr部门的员工,并且工资大于1000
select    name,salary  from  employee5  where   post='hr' and    salary>1000;
查询所有部门的员工,并且工资是6000或者8000的员工
select   name,salary   from  employee5  
where  salary=6000  or  salary=8000;
3.关键字BETWEEN AND 在什么之间
需求:查一查薪资在5000到15000
select  name,salary  from  employee5  where  salary  between  5000  and  15000
如果不在两数之间可以加not
select  name,salary  from  employee5  where  salary   not  between  5000  and  15000
4.关键字IN集合查询
select  name,salary    from  employee5   where  salary    in(4000,5000,8000);
5.关键字IS NULL    需求:没有岗位描述的
空
select name,job_description from  employee5 where job_description is  null;
6.关键字LIKE模糊查询   查员工姓就可以出名字
select  *  from   employee5   where  name    like        'a%';  通配符’%’代表多个任意字符
注意不是shell的"*"星号。mysql使用"%"
select * from employee5  where name like 'a___';  注意不是shell的“?”问号。mysql使用"_"下划线,通配符’_’代表1个任意字符


三、查询排序
1.例如以工资升序排列
SELECT * FROM 表名 ORDER BY 工资的列名 ASC;
2.例如以工资降序排列
SELECT * FROM 表名 ORDER BY 工资的列名 DESC;
3.工资最高的前五名
SELECT * FROM 表名 ORDER BY 工资列名 DESC LIMIT 5;
LIMIT 限制 //默认初始位置为0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值