MySQL数据库(四)数据相关操作

资料来源:MySQL 教程

1 插入数据

1.1 完整插入

INSERT INTO table_name
VALUES (value1,value2,value3,...);

1.2 指定列名插入

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

2 删除

DELETE FROM table_name
WHERE some_column=some_value;

3 更新

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

4 查询

查询语句是sql非常常用的,也是非常值得细细研究的;

4.1 DISTINCT

可以显示唯一值,比如鸢尾花标签只需要显示不同一共三种。

SELECT DISTINCT label 
FROM iris

4.2 AND和OR

SELECT *
from iris
where label='virginica' AND petalLength > 6.0

4.3 ORDER BY

SELECT *
from iris
where label='virginica' ORDER BY sepalLength DESC 

按照某列顺序显示

4.4 LIMIT

SELECT *
from iris
where label='virginica'
LIMIT 5

限制只显示5条,多了就不返回;

4.5 LIKE

SELECT *
from iris
where petalLength LIKE '6%'

正则表达式匹配项%、_、[charlist]、[!charlist];匹配任意个、匹配一个、列表任意一个、不在里面;

4.6 IN

SELECT *
from iris
where petalLength IN (6.0,6.1)

查找的值在某个集合里面;

4.7 BETWEEN AND

SELECT *
from iris
where petalLength BETWEEN 5.5 AND 6.5

4.8 别名

SELECT A.label 
FROM iris as A
where sepalLength < 5

4.9 JOIN ON

SQL join 用于把来自两个或多个表的行结合起来。
在这里插入图片描述

SELECT *
FROM iris
inner join logs.irisLog
on iris.dataIndex = logs.irisLog.dataIndex
  • 关于left join onright join on的理解,从哪边join,哪边的值就会全部保留,不匹配的就显示null值;
  • MySQL不支持全关联关键字
  • 直接Join不加on关键字,就是两个表求笛卡尔积;

4.10 UNION

合并两个查询的结果;语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

SELECT sepalLength 
FROM iris
where dataIndex = 1
UNION 
SELECT sepalWidth 
FROM iris
where dataIndex = 2

4.11 INSERT INTO SELECT

根据查询的结果插入到另一张表中;

INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps
WHERE id=1;

4.12 CREATE INDEX

创建索引,方便更快的查询;

CREATE INDEX index_name
ON table_name (column_name)

4.13 DROP

撤销索引、撤销以及撤销数据库

4.14 视图

CREATE view irisSetosa as
SELECT *
FROM iris
where label ='setosa'

当需要重复的使用一组操作时,将其写成视图,直接可以当做表来查询,但是不是实际的表;

SELECT *
FROM  irisSetosa

删除视图用:DROP VIEW irisSetosa

4.15 时间

SELECT now() 

返回2020-12-04 21:24:54

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值