我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux_MySQL二次整理(2)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux_MySQL二次整理(2)

配置文件参数

服务器参数/变量:设定MySQL的运行特性;

显示:

mysql> SHOW GLOBA|[SESSION] VARIABLES [LIKE clause];  LIKE 过滤

状态(统计)参数/变量:保存MySQL运行中的统计数据或状态数据;

mysql> SHOW GLOBA|[SESSION] STATUS [LIKE clause];

显示单个变量设定值的方法:精确匹配

mysql> SELECT @@[global.|session.]system_var_name

%:匹配任意长度的任意字符;

_:匹配任意单个字符;

变量/参数级别:

全局(GLOBA):为所有会话设定默认; root权限才能修改

会话(SESSION):跟单个会话相关;会话建立会从全局继承;

服务器变量的调整方式:

运行时修改:

mysql> HELP SET

SET [GLOBAL | SESSION] system_var_name = expr

SET [@@global. | @@session. | @@]system_var_name = expr

启动前通过配置文件修改:

安装完成后的安全初始化:

mysql_secure_installation

删除匿名用户 管理员设置密码

运行前常修改的参数:

innodb_file_per_table=ON innodb引擎每表使用单独表空间

skip_name_resolve=ON 禁止dns解析

...

SQL:ANSI SQL 标准

SQL-86, SQL-89, SQL-92, SQL-99, SQL-03, ... (还分级别.级别高限制越严格 性能越低)

MySQL的数据类型:

字符型

数值型

日期时间型

内建类型

字符型:

CHAR(#), BINARY:定长型;CHAR不区分字符大小写,而BINARY区分;性能不好

VARCHAR(#), VARBINARY:变长型

TEXT:TINYTEXT(1字节),TEXT(2),MEDIUMTEXT(3),LONGTEXT(4) 文本

BLOB:TINYBLOB(255字节),BLOB(65k),MEDIUMBLOB(16M), LONGBLOB(4G) 二进制大对象

数值型:

浮点型:近似

FLOAT

DOUBLE

REAL

BIT

整型:精确

INTEGER:TINYINT(1),SMALLINT(2),MEDIUMINT(3),INT(4),BIGINT(8)

DECIMAL

日期时间型:

日期:DATE

时间:TIME

日期j时间:DATETIME

时间戳:TIMESTAMP

年份:YEAR(2), YEAR(4)

内建:

ENUM:枚举

ENUM('Sun','Mon','Tue','Wed') 只能填入枚举定义的某一个数据

SET:集合 一堆字符中的各种组合

类型修饰符:

字符型:

NOT NULL 非空

NULL 可以空

DEFALUT ‘STRING’默认值

CHARACET SET ‘CHARSET’ 字符集格式

COLLATION ‘collocation' 排序规则

整型:

NOT NULL

  NULL

 DEFALUT value 不能加引号

 AUTO_INCREMENT 自增

 UNSIGNED 无符号整数

日期时间型:NOT NULL, NULL, DEFAULT 

*************************************************

SQL MODE:定义mysqld对约束等违反时的响应行为等设定;(比如数据类型错误或溢出)

常用的MODE:

TRADITIONAL 传统限制方式

STRICT_TRANS_TABLES 支持事物操作的表做限制

STRICT_ALL_TABLES 对所有表都进行限制

修改方式:

mysql> SET GLOBAL sql_mode='MODE';

mysql> SET @@global.sql_mode='MODE'; 

Linux_MySQL二次整理(2)

Linux_MySQL二次整理(2)

再次插入大于255的数值则报错;

本次有效,重启失效 要修改配置文件里的数值

*******************************************************

数据库:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name CHARACTER SET [=] charset_name  COLLATE [=] collation_name

创建 数据库 [如果不存在] 数据库名称  指定字符集 排序规则

ALTER {DATABASE | SCHEMA} [db_name] CHARACTER SET [=] charset_name  COLLATE [=] collation_name

修改 数据库  数据库名称  字符集 排序规则

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

删除  数据库  [如果存在] 数据库名

表:

CREATE 

(1) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    #TEMPORARY 临时表

(create_definition,...)       #字段定义格式

[table_options] # 表选项

[partition_options] # 表分区选项

CREATE TABLE [IF NOT EXISTS] tble_name (col_name  data_type|INDEX|CONSTRAINT);

例:MariaDB>CREATE TABLE student (id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,name CHAR(50) NOT NULL ,age TINYINT UNSIGNED,INDEX(name) );
Linux_MySQL二次整理(2) 

(2) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    复制表数据

[(create_definition,...)]

[table_options]

[partition_options]

select_statement

直接创建表,并将查询语句的结果插入到新创建的表中;

例:MariaDB[mydb]>CREATE TABLE users(Name VARCHAR(100),Host VARCHAR(100),Passwd CHAR(48)) SELECT User AS Name,Host,Password As passwd  FROM mysql.user;

如果新建表的列名称和原来的不对应 则必须 指定名称  old_name As new_name;

查询mysql.user中的数据并导入到新建的(users表)中;

(3) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name    复制表结构创建

{ LIKE old_tbl_name | (LIKE old_tbl_name) }

例:CREATE TABLE user LIKE mysql.user;

查看表数据: SELECT * FROM user;

查看表结构:DESC user;

复制某存在的表的结构来创建新的空表;数据不会被复制

***************

table_options:

ENGINE [=] engine_name 存储引擎

查看支持的所有存储引擎:

mysql> SHOW ENGINES;

查看指定表的存储引擎:

mysql> SHOW TABLE STATUS LIKE clause;

ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}

行格式 

*************************

DROP:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name];

ALTER:

ALTER  TABLE tbl_name

[alter_specification [, alter_specification] ...]

可修改内容:alter_specification

(1) table_options

(2) 添加定义:ADD

字段、字段集合、索引、约束

(3) 修改字段:

CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] 修改名字和选项

MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name] 只能修改名字

(4) 删除操作:DROP

字段、索引、约束

表重命名:

RENAME [TO|AS] new_tbl_name

查看表结构定义:

DESC tbl_name;

查看表定义:

SHOW CREATE TABLE tbl_name

查看表属性信息:

SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]

例:SHOW TABLESTATUS [FROM mysql] LIKE user; 不指定表 表示当前表

***************************************

索引:

创建:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type] ON tbl_name (index_col_name,...)

创建 为一|全文|空间  索引 索引名称 索引类型

例: CREATE INDEX name_on_students ON students(Name);

查看:

SHOW  {INDEX | INDEXES | KEYS}  {FROM | IN}  tbl_name  [{FROM | IN}  db_name]  [WHERE expr]

例:SHOW INDEX FROM students [WHERE Column_name=’Name’];

删除:

DROP  INDEX index_name ON tbl_name

例: DROP INDEX name_on_students ON students;

****************************************

索引类型:

聚集索引、非聚集索引:看 索引是否与数据存在一起;

主键索引、辅助索引

稠密索引、稀疏索引:是否索引了每一个数据项; 稠密索引表示:每个索引对应的数据都存在 稀疏相反 一般一级索引是稠密 二级三级有可能不是稠密

BTREE(B+)平衡树索引

HASH

R Tree 空间索引

FULLTEXT   全文索引

BTREE:左前缀;

EXPLAIN:分析查询语句的执行路径;

视图:VIEW

虚表:存储下来的SELECT语句;(对某些用户隐藏字段)

创建:

CREATE  VIEW view_name [(column_list)] AS select_statement

修改:

ALTER  VIEW view_name [(column_list)] AS select_statement

删除:

DROP VIEW [IF EXISTS] view_name [, view_name] ... 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux_MySQL二次整理(2)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 2020/2/18 笔记整理

学习路线安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。 主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。 Android操作系统最初由Andy Rubin开发(2003年),主
2022-06-06

RxJava 2.x新特性总结整理

什么是RxJavaRx是异步响应式编程的意思,本质是观察者模式,以观察者和订阅者的异步响应式编程。本文主要介绍了关于RxJava 2.x新特性的相关资料,下面话不多说,来看看详细的介绍吧。背压的分离Flowable/SubscriberFl
2023-05-31

泛微E9二次开发资料完整总结版

文章目录 1、EC9系统说明1.1、系统核心框架1.2、系统目录结构 2、环境搭建2.1、Ecology测试环境搭建2.2、后端开发环境搭建2.3、ecode使用说明2.4、e9技术站2.5、后端代码目录结构 3、数据存储3
2023-08-19

一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理)

一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理)上文中增加了定时归档,现在一些大表磁盘空间一直不释放,导致数据库文件越来越大。现在介绍下数据导入导出方案。方案选择暂时有两种方案选择:1、停机数个小时,使用mysqldump进行备份(大表只最近
一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理)
2016-05-29

Python学习笔记整理(二)pytho

一、Python的数字类型1、数字常量python数字类型在程序中如何显示(换句话说,作为常量)数字            常量1234,-23,0        一般整数99999999999L        长整型数(无限大小)1.23
2023-01-31

Python学习笔记整理(十二)Pyth

一、函数基础函数可以计算出一个返回值。作用:最大化代码重用,最小化代码冗余,流程的分解1、函数相关的语句和表达式语句        例子Calls        myfunc(‘diege','eggs',meat=lit) #使用函数de
2023-01-31

JVM原理之完整的一次GC流程解读

这篇文章主要介绍了JVM原理之完整的一次GC流程解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-28

第二天学习_基础数据类型整理

1. int - 整型   bit_length() 是int唯一的方法2. bool - 数据类型之间的转换  int(字符串)->把字符串转换成数字  str(数字)->把数字转换成字符串3. str - 字符串  字符串[索引] 可以
2023-01-31

Web中二次注入攻击原理的示例分析

这篇文章主要介绍Web中二次注入攻击原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!二次注入攻击二次注入攻击的测试地址:http://127.0.0.1/sqli/double1.php?username
2023-06-25

2023年下半年信息系统项目管理师第二批次各科目真题考点整理(考友回忆版)

  2023年下半年信息系统项目管理师第二批次考试已经结束,根据考友们的回忆,小编为大家整理了2023年下半年信息系统项目管理师第二批次三个考试科目的真题考察内容,具体内容如下文所示,大家可以参考。  2023年下半年信息系统项目管理师第二批次各科目真题考点整理(考友回忆版)  2023年下半年信息系统项目管理师第二批
2023年下半年信息系统项目管理师第二批次各科目真题考点整理(考友回忆版)
2024-04-19

axios的二次封装与proxy反向代理怎么使用

本文小编为大家详细介绍“axios的二次封装与proxy反向代理怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“axios的二次封装与proxy反向代理怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-29

亚马逊云服务器第二次宕机怎么处理

1.了解亚马逊云服务器宕机原因在处理亚马逊云服务器第二次宕机之前,首先需要了解宕机的原因。亚马逊云服务器宕机可能是由于硬件故障、网络问题、软件错误或人为错误等原因引起的。了解宕机原因可以帮助你更好地解决问题,并采取措施防止类似问题再次发生。2.恢复数据备份在亚马逊云服务器宕机后,你需要尽快恢复数据备份。如果你有定期备份数据的计划,那么你可以使用备份数据来恢复服务器。如果你没有备份数据,那么你需要尽快采...
2023-10-27

编程热搜

目录