Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

MySQL 存储引擎,也被称为表类型:

   MyISAM表:无事务处理功能,支持表锁

     .frm:表结构定义文件

     .MYD:表数据文件

     .MYI:表索引文件

   InnoDB表:支持事务处理功能,支持行锁

     .frm:表结构定义文件

     .ibd:表空间(包含数据和索引文件)


MySQL常用的查询命令:

    SHOW ENGINES;  #查看数据库支持的引擎及状态。

    SHOW TABLE STATUS LIKE 'user' \G  #查看表user的属性信息,\G竖排显示

    mysqld --help --verbose  #查看mysql支持的各种相关指令

     SHOW CHARACTER SET;    #显示所有支持的字符集

     SHOW COLLATION ;      #显示各个字符集下的排序规则


程序语言连接数据的方式:

    动态SQL:通过函数或方法与数据库服务建立连接,

    嵌入式SQL:


MySQL工具:

客户端工具:mysql(登录工具),mysqladmin(管理工具),mysqldump(备份工具),mysqlimport,mysqlcheck

服务器端工具:mysqld(启动进程),mysqld_safe(安全线程),mysqld_multi(支持多实例)


MySQL配置文件:my.cnf

配置文件启动顺序为,/etc/my.cnf -->/etc/mysql/my.cnf -->$MYSQL_HOME/my.cnf -->

--default-extra-file=/path/to/somefile -->~/.my.cnf


MySQL启动失败的原因大致有:

    1、此前mysql服务未关闭

    2、数据初始化失败

    3、数据目录位置错误    

    4、数据目录权限问题


DBA的工作内容:

    开发DBA:数据库设计,SQL语句,存储过程,存储函数,触发器

    管理DBA:安装,升级,备份,恢复,用户管理,权限管理,监控,性能分析,基准测试


MySQL数据类型:

    数值型:

        精确数值型:int(整数型) decimal(十进制型)

        近似数值型:float(单精度浮点型) double(双精度浮点型) real(实数型)

    字符型:

        定长字符型:CHAR(NUM),BINARY(区分大小写)  最长不超过255个字符

        变长字符型:VARCHAR(NUM),VARBINARY(区分大小写) 最长不超过65535

        ENUM枚举型:ENUM('A','BB','CC','DD')用户只能在列举中选择一个

        SET枚举字符串型

    日期时间型:

        date日期,time时间,datetime日期时间,timestamp时间戳,year年


数据类型需具备以下几点:   

    1、存入的值类型

    2、占据的存储空间

    3、是变长还是定长

    4、如何比较及排序

    5、是否能够索引


 AUTO_INCREMENT 自动增长类型,需满足几点:必须为整型,非空,元符号,主键或唯一键

Usage: CREATE TABLE test(ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,Name CHAR(20))

   创建一个test表,包含2个字段ID和Name,ID字段的修饰符必须是INT(整型),UNSIGNED(无符号的)

   AUTO_INCREMENT(自动增长),NOT NULL(非空的),PRIMARY KEY(主键)。

   Name字段类型为CHAR(20)(定长字符型长度为20).

 mysql> SELECT LAST_INSERT_ID();


MySQL服务器变量:

   按作用域,分两类:

       全局变量

         SHOW GLOBAL VARIABLES LIKE ' '; 查看全局变量

       会话变量

         SHOW [SESSION] VARIABLES LIKE ' '; 查看会话变量

   按生效时间,分两类:

       可动态调整的变量:可即时修改

       静态变量:

            写在配置文件中,通过参数传递给mysqld

     动态调整参数的生效方式:

       全局变量:对当前会话无效,只对新建立会话有效;

       会话变量:即时生效,但只对当前会话有效;


   服务器变量:@@变量名

        显示:SELECT

        设定:SET GLOBAL|SESSION 变量名='value'


mysql> SET GLOBAL sql_mode='strict_all_tables'; #设定sql_mode的值为strict_all_tables

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@global.sql_mode;  #查看sql_mode的全局变量

+-------------------+

| @@global.sql_mode |

+-------------------+

| STRICT_ALL_TABLES |

+-------------------+

1 row in set (0.00 sec)

mysql> SELECT @@sql_mode;  #查看sql_mode的会话变量

+------------+

| @@sql_mode |

+------------+

|            |

+------------+

1 row in set (0.00 sec)

  



















本文转自wang650108151CTO博客,原文链接: http://blog.51cto.com/woyaoxuelinux/1918247,如需转载请自行联系原作者


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
18天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
62 10
|
12天前
|
SQL 关系型数据库 MySQL
|
21天前
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
33 0
|
21天前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
31 0
|
10天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
25 1
|
12天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
28 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
61 3
Mysql(4)—数据库索引
|
19天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
88 1
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
63 2