SQL通用语法以及分类图文详解
小白的白白 人气:0MySQL的启动和连接&数据模型
MySQL的启动和停止
1.services.msc
2.命令行启停
启动:net start mysql80
停止:net stop mysql80
(命令行窗口以管理员权限打开,否则无访问系统服务权限)
MySQL数据库客户端连接
1.MySQL提供的客户端命令行工具
(先确保mysql正在运行中),否则会出现输入密码命令行窗口闪退的情况
mysql正常运行中,在windows开始菜单下找到:
单击打开命令行窗口后输入MySQL密码,即可进入访问(密码输入错误会闪退命令行窗口):
2.系统自带的命令行执行指令
(使用此方法必须提前配置系统的path环境变量)
mysql -u root -p[回车] -password
MySQL数据模型
1.在清楚MySQL数据模型前,需要先了解一个概念:关系型数据库(RDBMS).
概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库
特点:
- 使用表存储结构,格式统一,便于维护
- 使用SQL语言操作,标准统一,便于操作
2.数据模型
SQL通用语法及分类
1.SQL通用语法
- SOL语句可以单行或多行书写书写,以分号结尾
- SQL语句可以使用空格和缩进来增强程序的可读性
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
- 注释:
单行注释:--注释内容 或者 #注释内容(MySQL特有)
多行注释:/*注释内容*/
2.SQL分类
分类 | 全称 | 说明 |
---|---|---|
DDL | Date Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段,索引) |
DML | Date Manipulation Language | 数据库操作语言,用来对数据库表中的数据进行增删改 |
DQL | Date Query Language | 数据库查询语言,用来查询数据库中表的记录 |
DCL | Date Control Language | 数据库控制语言,用来创建数据库用户,控制数据库访问权限 |
Data Definition Language
DDL - 数据库操作
查询数据库
创建数据库
删除数据库
使用数据库
使用上述指令进行整体操作
DDL - 表操作
表操作 - 创建&&查询 创建表
(创建表的最后一条语句不加逗号,整条语句以分号结束)查询当前数据库的所有表
查询表结构
查询特定表的建表语句
使用上述指令进行整体操作
表操作 - 数据类型
MySQL中主要有数值类型、日期类型和字符串类型。
数值-整数类型
类型名称 | 说明 | 存储需求 | 有符号(SIGNED) | 无符号(UNSIGNED) |
---|---|---|---|---|
TINYINT | 很小的整数 | 1byte | -128 - 127 | 0 - 255 |
SMALLINT | 小的整数 | 2byte | -32768 - 32767 | 0 - 65535 |
MEDIUMINT | 中等大小的整数 | 3byte | -8388608 - 8388607 | 0 - 16777215 |
INT(INTEGER) | 普通大小整数 | 4byte | -2147483648 - 2147483647 | 0 - 4294967295 |
BIGINT | 大整数 | 8byte | -9223372036854775808 - 9223372036854775807 | 0 - 18446744073709551615 |
dd
类型名称 | 说明 | 存储需求 | 有符号(SIGNED) | 无符号(UNSIGNED) |
---|---|---|---|---|
TINYINT | 很小的整数 | 1byte | -128 - 127 | 0 - 255 |
SMALLINT | 小的整数 | 2byte | -32768 - 32767 | 0 - 65535 |
MEDIUMINT | 中等大小的整数 | 3byte | -8388608 - 8388607 | 0 - 16777215 |
INT(INTEGER) | 普通大小整数 | 4byte | -2147483648 - 2147483647 | 0 - 4294967295 |
BIGINT | 大整数 | 8byte | -9223372036854775808 - 9223372036854775807 | 0 - 18446744073709551615 |
数值-小数类型
DECIMAL中的M:精度、D:标度
精度M:整个数的长度
标度D:小数的位数
日期与时间类型
类型名称 | 日期格式 | 日期范围 | 存储需求 |
---|---|---|---|
YEAR | YYYY | 1901-2155 | 1byte |
TIME | HH:MM:SS | -838:59:59-835:59:59 | 3byte |
DATE | YYYY-MM-DD | 1000-01-01~9999-12-31 | 3byte |
DATETIME | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00~9999-12-31 23:59:59 | 8byte |
TIMESTAMP | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 UTC | 4byte |
字符串类型
类型名称 | 说明 | 存储需求 |
---|---|---|
CHAR(M) | 定长文本字符串 | M字节,1 - 255 |
VARCHAR(M) | 变长文本字符串 | length +1字节 |
TINYTEXT | 非常小的文本字符串 | length +1字节 |
TEXT | 小的文本字符串 | length +2字节 |
MEDIUMTEXT | 中等大小的文本字符串 | length +3字节 |
LONGTEXT | 大的文本字符串 | length +4个字节 |
EUNM | 枚举类型,只能有一个枚举字符串值 | 1或2byte,取决于枚举字符串的树木 |
SET | 一个设置,字符串对象可以有一个或多个set成员 | 1,2,3,4或8,取决于集合成员的数量 |
类型名称 | 说明 | 存储需求 |
---|---|---|
BIT(M) | 位字段类型 | (M+7)/8 byte |
BINARY(m) | 定长二进制字符串 | Mbyte |
VARBINARY(M) | 变长二进制字符串 | M+1byte |
TINYBLOB(M) | 非常小的BLOB | L+1 byte |
BOLB(M) | 小的BLOB | L+2byte |
MEDIUMBLOB(M) | 中等大小的BLOB | L+3byte |
LONGBLOB(M) | 非常大的BLOB | L+4byte |
表操作-修改&&删除
添加字段
修改字段数据类型
修改字段名和字段类型
删除表中的字段
修改表名
删除表
格式化表(删除表中的数据并重新创建)
使用上述指令进行整体操作
DDL总结
DDL数据库操作
- show databases;
显示当前的所有数据库 - create database [if not exists] 数据库名;
创建数据库 - use 数据库名;
使用/进入当前数据库 - select database();
查询当前所在数据库 - drop database [if exists] 数据库名;
删除当前数据库
DDL表操作
- show tables;
显示当前数据库中的所有表 - create table 表名(字段 字段类型 [comment '注释'], 字段 字段类型 [comment '注释'] ...) [coomment '注释'] ;
在当前数据库中新建一张表 - desc 表名;
查询当前表的结构 - show create table 表名;
显示创建该表时的语句 - alter table add/modify/change/drop/rename to
添加字段,修改字段类型,修改字段,删除字段,重命名表 - drop table 表名;
删除当前表
(可视化工具 - dataTrip)
加载全部内容