美文网首页mysql
MYSQL | 常用mysql语句

MYSQL | 常用mysql语句

作者: Sh44wn | 来源:发表于2019-11-13 11:48 被阅读0次

    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 | 设置中添加环境变量与全局变量

    相关文章

      网友评论

        本文标题:MYSQL | 常用mysql语句

        本文链接:https://www.haomeiwen.com/subject/xcshictx.html