开发者社区> 技术小甜> 正文

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

简介:
+关注继续查看

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,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作
SQLServer 虽然是微软开发的,但是目前已经支持 Windows、Linux、MACOS等。本文详细介绍在 Linux 环境下,如何对 SQL Server 进行安装、升级、回滚、卸载等操作。
78 0
linux下mysql导入导出sql文件
linux下mysql导入导出sql文件
108 0
SQL Server On Linux 安装详解
SQL Server On Linux 安装详解
718 0
SQL Server On Linux Docker|学习笔记
快速学习 SQL Server On Linux Docker
65 0
SQL on Linux Docker 迁移|学习笔记
快速学习 SQL on Linux Docker 迁移
76 0
Mac 版SQL On Linux Docker Volumes|学习笔记
快速学习 Mac 版 SQL On Linux Docker Volumes
81 0
我开发常用的类库、Linux命令、SQL相关(一)
我开发常用的类库、Linux命令、SQL相关(一)
85 0
【MySQL】在Linux上写SQL命令
【MySQL】在Linux上写SQL命令
47 0
有了这 4 款工具,老板再也不怕我写烂SQL了 良许Linux 2020-04-13 07:33
对于正在运行的mysql 性能如何?参数设置的是否合理?账号设置的是否存在安全隐患? 是否了然于胸? 俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要手段。
52 0
在linux命令下导出导入.sql文件的方法
在linux命令下导出导入.sql文件的方法
244 0
+关注
技术小甜
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南 之 Linux系统诊断
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像