mysql存储引擎概述

存储引擎(MyISAM,InnoDB),表类型,是表级别的概念,不是数据库级别的概念。
MyISAM:无事务,表锁
    .frm:表结构定义文件
    .MYD:表数据
    .MYI:索引
InnoDB:事务,行锁
    .frm:表结构定义文件
    .ibd:表空间(数据和索引)

1 查看存储引擎
1.1 查看表默认存储引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+----------
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+-----------
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------+---------
1.2 查看某表的存储引擎
mysql>  SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
mysql> show table status from mysql like 'user'\G

二  程序语言连接数据库的方式
     动态SQL:通过函数或方法与数据库服务器建立连接,将查询语句发送至服务器端
     嵌入式SQL:编译后
JDBC,ODBC

三 服务器端程序
mysqld,mysqld_safe,mysqld_multi,mysqlbinlog

四 加载my.cnf的顺序
    /etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/mysql_config_file --> ~/.my.cnf
[mysql],只对当前客户端生效
[client],对对所有客户端生效
[mysqld],[mysql_safe],对服务器端生效

# mysqladmin variables
# mysqld --verbose --help
To see what values a running MySQL server is using, type  'mysqladmin variables' instead of 'mysqld --verbose --help'.


五 可能遇到的问题
1、无法启动-->端口被占用-->之前版本的mysql占用,但已经卸载,无法stop,只能killall mysqld
2、在数据目录下,有hostname.err错误日志文件,一般的错误可以根据此错误日志来排除;若无错误日志,多数情况下时数据文件datadir=/path/to/mysql_data_dir,路径错误,在配置文件my.cnf中重新指定路径即可。
3、数据目录的权限问题

六 数据类型
1 数值型
    精确数值:int,decimal
    近似数值:float,double,real
2 字符型,需要指定长度
    定长:char (n) ,binary (n)
    变长:varchar(n),varbianry (n)
    大字符:text,blob
    ENUM,SET
3 日期时间型
    date,time,datetime,timestamp
域属性:修饰符,定义域限制

4 定义数据类型的意义
    1、存入的值类型;
    2、占据的存储空间;
    3、定长还变长;
    4、如何比较及排序;
    5、是否能够索引;

5 显示mysql所有支持的字符集, 不指定则从上一级别继承
mysql> show character set;
6 查看 mysql所有支持的 排序规则,不指定则从上一级别继承
mysql> show collation;

域属性修饰符
NULL,NOT NULL,DEFAULT,SINGED,UNSIGNED, PRIMARY KEY
AUTO_INCREMENT( LAST_INSERT_ID存储函数)

例子:
CREATE TABLE test(ID INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, Name CHAR(20))
查询上次的AUTO_INCREMENT结果
mysql> SELECT LAST_INSERT_ID();

TINYINT(n),表示显示n位
4 mysql数据类型和SQL模型_第1张图片
4 mysql数据类型和SQL模型_第2张图片

enumerate:列举
RRtype CHAR(5)
A, PTR, CNAME, AAAA, MX, NS, SOA, SRV
RRtype ENUM('A','PTR')

七 SQL模型
ANSI QUOTES A double quote (") is now treated as an identifier quote (`). Strings can only be quoted with a single quote (’)
反引号、双引号用来引用表名,字段名称, 单引号用来引用字符串。

IGNORE_SPACEThis sql_mode allows a space between a built-in function and the open parenthesis
在内建函数中忽略多余的空白

STRICT_ALL_TABLESWhen this sql_mode
mysql 数据库 模型 mysql

0

收藏

上一篇:3 二进制格式安装mysql 下一篇:6 mysql备份和还原
4 mysql数据类型和SQL模型_第4张图片
不远晴空

107篇文章,18W+人气,0粉丝

4 mysql数据类型和SQL模型_第5张图片

Ctrl+Enter 发布

发布

取消