MySQL——基础

SQL

全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 。

SQL 通用语法

  • SQL语句可以单行或多行书写,以分号结尾。
  • SQL语句可以使用空格/缩进来增强语句的可读性。
  • MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  • 注释:
    • 单行注释:-- 注释内容 或 # 注释内容
    • 多行注释:/* 注释内容 */

SQL 分类

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库、表、字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL(数据定义语言)

Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。

数据库操作

  • 查询所有数据库

    show databases;
    
  • 查询当前数据库

    select database();
    
  • 创建数据库

    create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;
    
  • 删除数据库

    drop database [ if exists ] 数据库名;
    
  • 切换数据库: 要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则是不能操作的。

    use 数据库名;
    

表操作

  • 查询当前数据库所有表

    show tables;
    
  • 查看指定表结构: 通过这条指令,我们可以查看到指定表的字段,字段的类型、是否可以为NULL,是否存在默认值等信息。

    desc 表名;
    
  • 查询指定表的建表语句: 通过这条指令,主要是用来查看建表语句的,而有部分参数我们在创建表的时候,并未指定也会查询到,因为这部分是数据库的默认值,如:存储引擎、字符集等。

    show create table 表名 ;
    
  • 创建表结构: [...] 内为可选参数,最后一个字段后面没有逗号

    CREATE TABLE 表名(
    字段1 字段1类型 [ COMMENT 字段1注释 ],
    字段2 字段2类型 [COMMENT 字段2注释 ],
    字段3 字段3类型 [COMMENT 字段3注释 ],
    ......
    字段n 字段n类型 [COMMENT 字段n注释 ]
    ) [ COMMENT 表注释 ] ;
    
  • 添加字段

    ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
    
  • 修改数据类型

    ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);
    
  • 修改字段名和字段类型

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];
    
  • 删除字段

    ALTER TABLE 表名 DROP 字段名;
    
  • 删除表: 可选项 IF EXISTS 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)。

    DROP TABLE [ IF EXISTS ] 表名;
    
  • 删除指定表, 并重新创建表: 在删除表的时候,表中的全部数据也都会被删除。

    TRUNCATE TABLE 表名;
    
数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

  • 数值类型

    类型 大小 有符号(SIGNED)范围 无符号(UNSIGNED)范围 描述
    TINYINT 1 byte (-128,127) (0,255) 小整数值
    SMALLINT 2 bytes (-32768,32767) (0,65535) 大整数值
    MEDIUMINT 3 bytes (-8388608,8388607) (0,16777215) 大整数值
    INT或INTEGER 4 bytes (-2147483648,2147483647) (0,4294967295) 大整数值
    BIGINT 8 bytes (-2^63 ,2^63-1) (0,2^64-1)
    FLOAT 4 bytes 单精度浮点数值
    DOOUBLE 8 bytes 双精度浮点数值
    DECTMAL 依赖于M(精度)和D(维度)的值 依赖于M(精度)和D(维度)的值 小数值(精确定点数)
  • 字符串类型

    类型 大小 描述
    CHAR 0 ~ 255 bytes 定长字符串
    VARCHAR 0 ~ 65535 bytes 变长字符串
    TINYBLOB 0 ~ 255 bytes 不超过255个字符的二进制数据
    TINYTEXT 0 ~ 255 bytes 短文本字符串
    BLOB 0 ~ 65535 bytes 二进制形式的长文本数据
    TEXT 0 ~ 65535 bytes 长文本数据
    MDIUMBLOB 0 ~ 16777215 bytes 二进制形式的中等长度文本数据
    MEDIUMTEXT 0 ~ 16777215 bytes 中等长度文本数据
    LONGBLOB 0 ~ 494967295 bytes 二进制形式的极大文本数据
    LONGTEXT 0 ~ 4294967295 bytes 极大文本数据

    char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符,和字段值的长度无关 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些

  • 日期类型

    类型 大小 范围 格式 描述
    DATE 3 1000-01-01 至 9999-12-31 YYYY—MM—DD 日期值</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴在敲Bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值