美文网首页
MySQL基本语句

MySQL基本语句

作者: 治愈系怪咖 | 来源:发表于2018-11-19 15:38 被阅读0次

    库操作

    [查] - 查看所有数据库

    SHOW DATABASES;
    

    [增] - 创建新数据库

    CREATE DATABASE 库名;
    

    [查] - 查看创建数据库的SQL的语句

    SHOW CREATE DATABASE 库名;
    

    [用] - 使用数据库

    USE 库名;
    

    [改] - 修改数据库的编码结构

    ALTER DATABASE 库名 DEFAULT CHARACTER SET 编码结构;
    

    [删] - 删除数据库

    DROP DATABASE 库名;
    

    [查] - 查看当前使用的数据库

    SELECT DATABASE();
    

    表操作

    [查] - 查看该数据库所有数据表

    SHOW TABLES;
    

    [查] - 查看表结构

    DESC 表名;
    

    [查] - 查看创表语句

    SHOW CREATE TABLE 表名;
    

    [查] - 查看引擎

    SHOW ENGINES;
    

    [增] - 创建新数据表

    CREATE TABLE 表名 (
    列名1 数据类型 [约束 注释],
    列名2 数据类型 [约束 注释],
    列名3 数据类型 [约束 注释]
    ) CHARACTER SET 编码结构;
    

    表的约束

    约束条件 含义
    UNSIGNED 无符号约束
    NULL 空约束
    NOT NULL 非空约束
    AUTO_INCREMENT 自动增长约束
    PRIMARY KEY 主键约束
    FOREIGN KEY 外键约束
    DEFAULT 默认约束
    UNIQUE 唯一约束
    CHARACTER SET name 指定字符集

    MySQL的数据类型

    数值类型

    类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途
    ---|---|---|---|---|---|
    TINYINT | 1字节 | (-128, 127) | (0, 255) | 小整数值
    SMALLINT | 2字节 | (-32768, 32767) | (0, 65535) | 大整数值
    MEDIUMINT | 3字节 | (-8388608, 8388607) | (0, 16777215) | 大整数值
    INT或INTEGER | 4字节 | (-2147483648, 2147483647) | (0, 4294967295) | 大整数值
    BIGINT | 8字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值
    FLOAT | 4字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值
    DOUBLE | 8字节 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值
    DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值

    日期类型
    类型 大小 范围 格式 用途
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 4 1970-01-01 00:00:00/2038. 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳
    字符串类型
    类型 大小 用途
    CHAR 0-255字节 定长字符串
    VARCHAR 0-65535 字节 变长字符串
    TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
    TINYTEXT 0-255字节 短文本字符串
    BLOB 0-65 535字节 二进制形式的长文本数据
    TEXT 0-65 535字节 长文本数据
    MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
    MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
    LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
    LONGTEXT 0-4 294 967 295字节 极大文本数据

    注:
    一个汉字占多少长度与编码有关:
    UTF-8:一个汉字=3个字节
    GBK:一个汉字=2个字节

    [删] - 删除数据表

    DROP TABLE 表名;
    

    [删] - 删除列

    ALTER TABLE 表名 DROP 列名;
    

    [改] - 插入一个新列

    ALTER TABLE 表名 ADD 列名 列数据类型 [AFTER 插入位置];
    ALTER TABLE 表名 ADD 列名 列数据类型 [FIRST 插入位置];
    

    [改] - 修改已有列类型等

    ALTER TABLE 表名 MODIFY 列名 新类型 [新参数 约束];
    

    [改] - 修改列名

    ALTER TABLE 表名 CHANGE 旧列名 新列名 新类型 新参数;
    

    [改] - 修改表名

    ALTER TABLE 旧表名 RENAME 新表名;
    

    记录操作

    [增] - 插入记录**

    INSERT INTO 表名 (列名1, 列名2, 列名3,......) VALUES
    (数据, 数据, 数据,......),
    (数据, 数据, 数据,......),
    (数据, 数据, 数据,......),
    (数据, 数据, 数据,......);
    

    [查] - 查找记录***

    SELECT 列名1, 列名2,...... FROM 表名 [WHERE 条件];
    
    • WHERE 条件; <条件表达式>
    • GROUP BY 列名 [ASC/DESC]; <查询结构分组>(ASC升序,DESC降序)
    • HAVING 条件; <过滤组>
    • ORDER BY 列名 [ASC/DESC]; <排序>(ASC升序,DESC降序)
    • LIMIT M,N; <限制查询结果返回数量>(从m+1行开始,返回n行)

    [改] - 修改记录

    UPDATE 表名 SET 列名=新值 WHERE 更新条件;
    

    [删] - 删除记录

    DELETE FROM 表名 WHERE 删除条件;
    

    [删] - 删除记录并清空主键记录

    TRUNCATE TABLE 表名;
    

    相关文章

      网友评论

          本文标题:MySQL基本语句

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