温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux_MySQL二次整理(2)

发布时间:2020-07-30 02:08:00 阅读:317 作者:zx337954373 栏目:数据库
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

配置文件参数

服务器参数/变量:设定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) 

: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);

查看表数据: SELECT * FROM user;

查看表结构:DESC user;

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

行格式 

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

DROP:

ALTER

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

创建:

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

: CREATE INDEX name_on_students ON students(Name);

: DROP INDEX name_on_students ON students;

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

HASH

R Tree 空间索引

FULLTEXT   全文索引

视图:VIEW

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

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×