开发者

SQL通用语法以及分类图文详解

开发者 https://www.devze.com 2022-12-31 08:57 出处:网络 作者: 小白的白白
目录mysql的启动和连接&数据模型SQL通用语法及分类Data Definition LanguageDDL - 数据库操作DDL - 表操作表操作 - 数据类型表操作-修改&&删除DDL总结Data Manipulation LanguageDML - 插入数据insertDM
目录
  • mysql的启动和连接&数据模型
  • SQL通用语法及分类
  • Data Definition Language
    • DDL - 数据库操作
    • DDL - 表操作
      • 表操作 - 数据类型
      • 表操作-修改&&删除
    • DDL总结
    • Data Manipulation Language
      • DML - 插入数据insert
        • DML - 更新数据update
          • DML - 删除数据delete
          • Data Query Language
            • DQL --- 基础查询
              • DQL --- 条件查询
                •  DQL - 聚合函数
                  • DQL - 分组查询
                    • DQL - 排序查询
                      • DQL - 分页查询
                        • DDL - 语句执行顺序
                          • DQL总结
                          • Data Control Language
                            • DCL - 用户管理
                              • DCL - 权限控制
                              • 总结

                                MySQL的启动和连接&数据模型

                                MySQL的启动和停止

                                1.services.msc

                                SQL通用语法以及分类图文详解

                                2.命令行启停

                                启动:net start mysql80

                                停止:net stop mysql80

                                (命令行窗口以管理员权限打开,否则无访问系统服务权限)

                                SQL通用语法以及分类图文详解

                                SQL通用语法以及分类图文详解

                                SQL通用语法以及分类图文详解

                                MySQL数据库客户端连接

                                1.MySQL提供的客户端命令行工具

                                (先确保mysql正在运行中),否则会出现输入密码命令行窗口闪退的情况

                                mysql正常运行中,在Windows开始菜单下找到:

                                SQL通用语法以及分类图文详解

                                单击打开命令行窗口后输入MySQL密码,即可进入访问(密码输入错误会闪退命令行窗口):

                                SQL通用语法以及分类图文详解

                                 2.系统自带的命令行执行指令

                                (使用此方法必须提前配置系统的path环境变量)

                                mysql -u root -p[回车] -password

                                SQL通用语法以及分类图文详解

                                SQL通用语法以及分类图文详解

                                MySQL数据模型

                                1.在清楚MySQL数据模型前,需要先了解一个概念:关系型数据库(RDBMS).

                                概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

                                特点

                                • 使用表存储结构,格式统一,便于维护
                                • 使用SQL语言操作,标准统一,便于操作
                                python

                                SQL通用语法以及分类图文详解

                                 2.数据模型

                                SQL通用语法以及分类图文详解

                                SQL通用语法及分类

                                1.SQL通用语法

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

                                  单行注释:--注释内容  或者   #注释内容(MySQL特有)

                                  多行注释:/*注释内容*/

                                2.SQL分类

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

                                Data Definition Language

                                DDL - 开发者_Kafka数据库操作

                                SQL通用语法以及分类图文详解

                                查询数据库

                                SQL通用语法以及分类图文详解

                                SQL通用语法以及分类图文详解

                                创建数据库

                                SQL通用语法以及分类图文详解

                                SQL通用语法以及分类图文详解

                                删除数据库

                                SQL通用语法以及分类图文详解

                                使用数据库

                                SQL通用语法以及分类图文详解

                                使用上述指令进行整体操作

                                SQL通用语法以及分类图文详解

                                DDL - 表操作

                                表操作 - 创建&&查询 创建表

                                SQL通用语法以及分类图文详解

                                (创建表的最后一条语句不加逗号,整条语句以分号结束)查询当前数据库的所有表

                                SQL通用语法以及分类图文详解

                                查询表结构

                                SQL通用语法以及分类图文详解

                                查询特定表的建表语句

                                SQL通用语法以及分类图文详解

                                使用上述指令进行整体操作

                                SQL通用语法以及分类图文详解

                                表操作 - 数据类型

                                MySQL中主要有数值类型、日期类型和字符串类型。

                                数值-整数类型

                                类型名称说明存储需求有符号(SIGNED)无符号(UNSIGNED)
                                TINYINT很小的整数1byte-128 - 1270 - 255
                                SMALLINT小的整数2byte-32768 - 327670 - 65535
                                MEDIUMINT中等大小的整数3byte-8388608 - 83886070 - 16777215
                                INT(INTEGER)普通大小整数4byte-2147483648 - 21474836470 - 4294967295
                                BIGINT大整数8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

                                dd

                                类型名称说明存储需求有符号(SIGNED)无符号(UNSIGNED)
                                TINYINT很小的整数1byte-128 - 1270 - 255
                                SMALLINT小的整数2byte-32768 - 327670 - 65535
                                MEDIUMINT中等大小的整数3byte-8388608 - 83886070 - 16777215
                                INT(INTEGER)普通大小整数4byte-2147483648 - 21474836470 - 4294967295
                                BIGINT大整数8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

                                数值-小数类型

                                 DECIMAL中的M:精度、D:标度

                                 精度M:整个数的长度

                                 标度D:小数的位数

                                日期与时间类型

                                类型名称日期格式日期范围存储需求
                                YEARYYYY1901-21551jsbyte
                                TIMEHH:MM:SS-838:59:59-835:59:593byte
                                DATEYYYY-MM-DD1000-01-01~9999-12-313byte
                                DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00~9999-12-31 23:59:598byte
                                TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 UTC4byte

                                字符串类型

                                文本字符串数据类型
                                类型名称说明存储需求
                                CHAR(M)定长文本字符串M字节,1 - 255
                                VARCHAR(M)变长文本字符串length +1字节
                                TINYTEXT非常小的文本字符串length +1字节
                                TEXT小的文本字符串length +2字节
                                MEDIUMTEXT中等大小的文本字符串lFkBAkQrength +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)小的BLOBL+2byte
                                MEDIUMBLOB(M)中等大小的BLOBL+3byte
                                LONGBLOB(M)非常大的BLOBL+4byte

                                表操作-修改&&删除

                                添加字段

                                SQL通用语法以及分类图文详解

                                修改字段数据类型

                                SQL通用语法以及分类图文详解

                                修改字段名和字段类型

                                SQL通用语法以及分类图文详解

                                删除表中的字段

                                SQL通用语法以及分类图文详解

                                修改表名

                                SQL通用语法以及分类图文详解

                                删除表

                                SQL通用语法以及分类图文详解

                                格式化表(删除表中的数据并重新创建)

                                SQL通用语法以及分类图文详解

                                 使用上述指令进行整体操作

                                SQL通用语法以及分类图文详解

                                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)

                                Data Manipulation Language

                                DML - 插入数据insert

                                insert into 表名(字段,字段...) values(值1,值2...);
                                -- 表中的字段和值一一对应
                                insert into 表名(字段1,字段2...) values(值1,值2...),(值1,值2...);
                                -- 一次添加多组数据,字段值和值要一一对应
                                insert into 表名 values(值1,值2...);
                                -- 值要和表中的字段一一对应
                                 
                                insert into 表名 values(值1,值2...),(值1,值2...);
                                -- 一次添加多组数据,数据要和表中的字段一一对应

                                插入数据的注意事项

                                • 插入的数据应当与表中的字段一一对应
                                • 插入数据如果类型是字符串或者日期,应当用引号修饰
                                • 添加的数据应当在定义的数据类型的范围内

                                DML - 更新数据update

                                update 表名 set 字段1=值1,字段2=值2...[where 条件];
                                -- update是针对字段来进行操作的

                                DML - 删除数据delete

                                delete from 表名 [where 条件];
                                -- delete针对的操作对象是表中的一整条数据 

                                 php;使用上述SQL命令整体进行表的数据操作:

                                使用insert向表中添加数据:

                                SQL通用语法以及分类图文详解

                                使用update更新表中的数据:

                                SQL通用语法以及分类图文详解

                                使用delete删除表中的数据:

                                SQL通用语法以及分类图文详解

                                Data Query Language

                                DQL --- 基础查询

                                查询多个字段

                                select 字段1[as 别名],字段2[as 别名],字段3[as 别名]...from 表名;
                                //as可以省略
                                 
                                select * from 表名;
                                //返回表中的所有字段中的信息

                                查询多个字段去重

                                select distinct 字段列表 from 表名; -- 去重查询

                                DQL --- 条件查询

                                select 字段列表 from 表明 where [条件列表];

                                SQL通用语法以及分类图文详解

                                使用上述查询进行整体操作:

                                SQL通用语法以及分类图文详解

                                 DQL - 聚合函数

                                函数作用
                                avg()返回某列的平均值
                                sum()返回某列值的和
                                count()返回某列的行数
                                max()返回某列的最大值
                                min()返回某列的最小值

                                select 聚合函数(字段列表) from 表名;

                                使用聚合函数进行查询时,null不参与聚合函数的运算,如果统计表的行数,使用count(*)即可。

                                使用上述查询进行整体操作:

                                SQL通用语法以及分类图文详解

                                DQL - 分组查询

                                select 字段列表 from 表名 [where条件] group by 分组字段名 [having分组后的过滤条件];

                                where和having的区别:

                                • where是对分组前的数据进行过滤,不满足分组条件的数据不参与分组,而having是对分组之后的数据进行过滤
                                • where不能对聚合函数进行判断,having可以

                                使用上述查询:

                                SQL通用语法以及分类图文详解

                                DQL - 排序查询

                                select 字段列表 from 表名 order by 字段名 排序方式,字段名,排序方式;
                                //当按照第一个字段排序时顺序相同时,就按照第二个字段及其规则进行排序返回
                                //asc    升序排列(默认值,可以省略)
                                //desc   降序排www.devze.com列

                                SQL通用语法以及分类图文详解

                                DQL - 分页查询

                                select 字段列表 from 表名 limit 起始索引,每页查询的数据条数;
                                -- 起始索引为: (页数 - 1) * 每页数据的条数
                                -- 第一页的起始索引可以省略

                                SQL通用语法以及分类图文详解

                                DDL - 语句执行顺序

                                • from -- 找到对应的表
                                • where -- 根据条件进行筛选
                                • group -- 筛选后分组
                                • select -- 选出处理后的数据
                                • order by -- 进行数据的排序
                                • limit -- 数据分页

                                DQL总结

                                -- 基础查询
                                select 字段列表 from 表名;
                                 
                                -- 条件查询
                                select 字段列表 form 表名 where 条件;
                                 
                                -- 分组查询
                                select 字段列表 from 表名 [where条件] group by 分组字段名 [having过滤条件];
                                 
                                -- 排序查询
                                select 字段列表 from 表名 [where条件] order by 字段名 排序方式,字段名 排序方式;
                                 
                                --分页查询
                                select 字段列表 from 表名 [where条件] limit 起始索引,每页查询的信息条数;

                                Data Control Language

                                DCL - 用户管理

                                -- 使用管理员账号进入mysql数据库下
                                 
                                -- 查询用户
                                use mysql;
                                select * from user;
                                 
                                -- 创建用户
                                create user '用户名'@'主机名' identified by '密码';
                                 
                                -- 修改用户密码
                                alter user '用户名'@'主机名' identified with mysql_native_password by '密码';
                                 
                                -- 删除用户
                                drop user '用户名'@'主机名';

                                SQL通用语法以及分类图文详解

                                DCL - 权限控制

                                -- 查询权限
                                show grants for '用户名'@'主机名';
                                 
                                -- 授予权限
                                grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
                                 
                                -- 撤销权限
                                revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

                                SQL通用语法以及分类图文详解

                                总结

                                到此这篇关于SQL通用语法以及分类的文章就介绍到这了,更多相关SQL通用语法及分类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

                                0

                                精彩评论

                                暂无评论...
                                验证码 换一张
                                取 消

                                关注公众号