mysql

MYSQL | 常用mysql语句

2019-11-13  本文已影响0人  Sh44wn

1、创建数据库

CREATE DATABASE IF NOT EXISTS myoildataDEFAULTCHARSET utf8COLLATE utf8_general_ci;

2.删除数据库

DROP DATABASEmyoildata;

3.选择数据库

USE myoildata;

4.创建表

注意:

1.字符串数据类型选择:
![image](https://img.haomeiwen.com/i6410973/042c031aa0a0ead0?imageMogr2/auto-orient/strip|imageView2/2/w/524/format/webp)

    经常变化的字段用 varchar
    知道固定长度的用 char
    尽量用 varchar
    超过 255 字符的只能用 varchar 或者 text
    能用 varchar 的地方不用 text

2.表名与字段名使用反引号扩起(ESC下方的按键而不是引号)。

5.删除数据表:

DROP TABLE oildata ;

6.向数据表插入数据

INSERT INTO `myoildata`.`oildata`(`area`, `oil89`, `oil92`, `oil95`, `oil98`, `oil0`, `update_time`)VALUES('北京', '6.23', '6.62', '7.04', '8.02', '6.28', '2019-10-25 10:10:27');

插入所有数据后,数据库中内容如下:


image

7.查询数据

查询语句中可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。

SELECT*FROMoildata;

8. where子句,可用于查询、更新等操作

SELECT*FROMoildataWHEREoil95="7.04";

返回符合条件的城市为 北京、福建、青海

SELECT*FROMoildataWHEREoil95="7.04"ANDoil0="6.18";

返回符合条件城市为青海

SELECT*FROMoildataWHEREoil95="7.04"ORoil0="6.21";

返回城市为 北京、吉林、福建、青海

其他操作符还有 =、!=、>、<、>=、<=

9.更新数据

UPDATEoildataSEToil89="6.11"WHEREid=5

10.删除数据

DELETE FROM oildataWHEREarea="新疆";

11.LIKE 子句

SELECT* FROM oildataWHEREareaLIKE'湖%';
SELECT * FROM oildataWHEREoil95LIKE'%.2%';

说明:

① %:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

② _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

③ []:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

④ [^] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。

⑤ 查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 “%”、“_”、“[” 的语句无法正常实现,而把特殊字符用 “[ ]” 括起便可正常查询。

12.UNION

SELECT*FROMoildataUNIONSELECT*FROMoil20191030ORDERBYid;

返回结果会删除重复的值,如果想不删除重复值, 需要使用UNION ALL

SELECT*FROMoildataUNIONALL SELECT *FROMoil20191030ORDER BYid;

带有 WHERE 的 SQL UNION ALL:

SELECT*FROMoildataWHEREoil95='7.04'UNION ALL SELECT *FROMoil20191030WHEREoil95='7.04'ORDER BYid;

oildata与oil20191030部分数据是相同的。

13.排序 ORDER BY 子句

ASC :按升序排列。默认情况下,按升序排列

SELECT * FROM oildata ORDERBY id;

DESC:按降序排序

SELECT*FROMoildataORDER BY idDESC;

示例:与WHERE子句结合,按id进行降序排列

SELECT*FROMoildataWHEREoil95="7.04"ORDER BYidDESC;

14.分组 GROUP BY语句

15.JOIN 联合多表查询

JOIN 按照功能大致分为如下三类:

INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。

RIGHT JOIN(右连接):与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

16.查找数据表中某列数据是否为 NULL,必须使用 IS NULL 和 IS NOT NULL

17.MySQL 正则表达式

MySQL中使用 REGEXP 操作符来进行正则表达式匹配。

查找name字段中以'st'为开头的所有数据:

SELECT name FROM person WHERE name REGEXP'^st';

查找name字段中以'ok'为结尾的所有数据:

SELECT name FROM person WHERE name REGEXP'ok$';

查找name字段中包含'mar'字符串的所有数据:

SELECT name FROM person WHERE name REGEXP'mar';

查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:

SELECTnameFROMpersonWHEREnameREGEXP'^[aeiou]|ok$';

18.ALTER

一:修改表信息

修改表名

ALTERTABLEoil20191025RENAME TO tesoil20191025;

修改表注释

ALTERTABLEoil20191025COMMENT'油价数据';
二:修改字段信息

1.修改字段名字(要重新指定该字段的类型)

ALTER TABLE oil20191029CHANGEarea areas VARCHAR(255) NOT NULL;

2.修改字段类型和注释

ALTER TABLE oil20191029MODIFYCOLUMNarea VARCHAR(50) COMMENT '地区';

3.修改字段类型

ALTER TABLEoil20191029MODIFY COLUMN oil0 INT;

4.设置字段允许为空

ALTER TABLE oil20191029MODIFY COLUMNoil0 INT NULL;

5.增加一个字段,设好数据类型,且不为空,添加注释

ALTER TABLE oil20191029ADD`url`VARCHAR(255)NOT NULL COMMENT '数据来源网址';

6.删除字段

ALTER TABLE oil20191029DROPid;

7.增加自增主键

ALTER TABLE oil20191029ADDIDINT(5)NOT NULL PRIMARY KEY AUTO_INCREMENT;

8.在某个字段后增加字段

ALTER TABLE oil20191029ADD COLUMNurl CHAR NOT NULL AFTERareas;

9.调整字段顺序

ALTER TABLEoil20191029CHANGEid  idINT NOT NULL AFTERupdate_time;(注意:id出现了2次)

往 / 期 / 文 / 章

python

python | 用python爬取网络图片

python | 常用到的os.path方法

python | 简单易用的openpyxl

python | enumerate()、zip()、dict.items()的基本用法

python | json.dumps()、json.loads()、json.dump()、json.load()的使用

python | configparser类,从配置文件中读取、写入数据

python | 常用的正则表达式函数

测试

测试 | Charles 抓取APP 的https请求

测试 | monkey 测试基本用法

测试 | 使用adb命令对android手机截图

测试 | unittest的基本用法

MYSQL

MYSQL | excel数据导入MYSQL数据库

MYSQL | Navicat Premium MAC 12.0.22版本激活

MYSQL | mysql常用语句

POSTMAN

postman | 设置中添加环境变量与全局变量

上一篇下一篇

猜你喜欢

热点阅读