欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

捕捉mysql中不可忽视的知识点(一)

程序员文章站 2022-04-25 21:11:59
...

一、mysql命令的分类mysql命令可分为客户端命令和服务器端命令两类:1)客户端命令\\c:提前终止结束语句\\g:无论语句结束符是什么,直接将此语句送至服务器端执

一、mysql命令的分类

mysql命令可分为客户端命令和服务器端命令两类:

1)客户端命令

\c:提前终止结束语句

\g:无论语句结束符是什么,直接将此语句送至服务器端执行;

\G:无论语句结束符是什么,直接将此句送到服务器端执行,而且结果以竖排方式显示;

\! COMMAND:执行shell命令

\W:语句执行结束后显示警告信息;

\#:对新建的对象,支持补全功能;

\r:重新连接到服务器上来

补充:mysql客户端命令里提到的还有 mysqldump(备份工具), mysqlimport(导入工具),mysqlcheck

2)服务器端命令:

mysqld

mysql_multi: 支持多实例的

mysql_safe: 支持安全线程的

mysqlbinlog: 查看mysql的二进制工具

mysqlhotcopy:mysql的备份工具

服务器语句有语句结束符,默认为分号

\d: 定义语句结束符(delimiter定义语句结束符)

//:语句结束符

eg:show database // 若想换回来使用\d

所有服务器语句只有执行客户端才能进行,而客户端不需要语句结束符;

服务器端命令如何获取帮助?

help COMMAND :获取帮助信息

help command index:获取索引帮助信息 (要想获得进一步的帮助信息,可以把执行help command index后显示的URL后的链接复制下来贴到浏览器内还能获取到官方文档)

二、mysqladmin命令的使用:

1)简介:mysqladmin用来执行管理命令的专用命令,也是一个客户端命令,通过客户端连接到服务器端去管理命令,mysqladmin很独特,它是一个具有许多子命令的命令

2)用法: mysqladmin [option] command [arg] [command [arg]]...

mysqladmin -uroot -p password 'NEW_PASS' 为用户设定密码的

3)常用命令:

processlist 进程列表,可以列出服务器上正在执行所有进程列表

status 查看mysql的状态

--sleep N: 显示频率

--count N:显示多个状态

eg:mysqladmin status --sleep 2 mysql两秒钟显示一次

eg:mysqladmin status --sleep 2 --count 2 mysql两秒钟显示1次显示2次

extended-status :显示状态变量

varitables: 显示服务器变量

flush-privileges: 让mysqld重读授权表,等同于reload;

flush-status:重置大多数的服务器的状态变量

flush-tables;关闭打开的所有的表

flush-threads: 重置线程池的,或线程缓存

flush-logs: 二进制和中继日志滚动

flush-hosts: 刷新主机,清除主机的内部信息

kill :杀死一个线程的

refresh: 相当于同时执行flush-hosts和flush-logs同时执行

shutdown: 关闭mysql服务器进程,可停止mysql服务器

version: 服务器版本及当前状态信息

start-slave:启动复制,启动从服务器复制线程(复制的线程包括两个SQL thread和IO thread)

stop-slave:关闭复制,停止复制线程;

三、存储引擎

1)存储引擎的概念:存储引擎从某种意义上讲叫表类型,每一个表都可以*的独立的选择一种存储引擎,存储引擎不是数据库之间的概念而是表之间的的概念,同一个数据库中的多张表完全可以使用不同的存储引擎,也就意味着底层的存储机制是各不相同的。

2)存储引擎主要包括MyISAM和InnoDB

MyISAM:(存储引擎,也被称为表类型)无事务,表锁;每个表三个文件分别如下:

.form:表结构定义文件

.MYD:表数据定义文件

.MYI:表索引定义文件

InnoDB:事务,行锁;所有表共享一个表空间文件(建议:每表一个独立的表空间文件;)

.form: 表结构

.ibd: 表空间(里面存储了表数据和表索引)

3)show engines:可以显示当前服务器所支持的所有引擎,香港服务器,

show table status [like ...] 显示一张表的状态信息

eg:show table status like 'use'; 显示use表的状态信息

eg:show table status like 'use'\G 查看use表的属性信息,并竖排显示

四、mysql的数据类型(MySqL data types )相关的知识点

1、mysql的数据类型:

1)数值型

精确数值

int

decimal 十进制

近似数值

float

double

real 实数

2)字符型

定长:char(#)、binary

变长:varchar(#)、varbinary

text,blob(大字符,text不区分大小写,blob区分大小写)

enum,set (内置类型)

3)日期时间型

data,time,datatime,timestamp

2、数据类型的意义:

1)存入的值类型

2)占据的存储空间

3)定长和变长

4)如何比较及排序

5)是否能够创建索引

2、数值类型:

int 整型

tinyint (微整型) 有符号时是0-255,无符号时是-128-127

smallint (小整型)

mediumint(中整型)

int (整型)

bigint (大整型)

decimal:定点数值

float:单精度浮点值 4bytes

double:双精度浮点值 8bytes

bit:按位存储

3、字符串数据类型:

char 字符型最多只能存储255个字符 定长

varchar 最大只能存储65535个字符 变长(不区分字符大小写)

binary 定长

varbinary 变长 (区分字符大小写)

tinyblob 微型blob 255字节(二进制的大对象,它们是字节字符串区分字符大小写)

blob 标准blob 64kb

mediumblob 中级blob 16Mb

longblob 长blob 4Gb

tinytext 微型text(不区分字符大小写)最多只能存储255个字符

text 标准text 最多只能存储65535个字符

mediumtext 中级text 最多只能存储16777215个字符

longtext 长text 最多只能存储4294967235个字符

enum 枚举型 最多只能存储65535

set 集合 1-64

4、日期时间型:

data 3 bytes

time 3 bytes

datatime 8 bytes

timestamp 4 bytes

year 1 bytes

5、字符串类型的修饰手段:

not null 不允许为空

null 可以为空

default 指定默认值

binary 不区分字符大小

show characher sets; 显示当前字符型数据库字符集

show collation; 显示当前字符型数据库所支持的排序规则

show global varables like '%char%';

select database(); 表示执行一个函数(一个内置的函数)

select last_insert_id();

auto_increment 自动增长(整型 非空 无符号)

eg: create table test(id int unsigned auto_increment not null primary key,Name char(20))

unsigned 无符号

cerate table test(id int unsigned

补充:

1、mysql还有一个特点就是支持名称补全