4 mysql数据类型和SQL模型

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'.


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

六 数据类型
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 定义数据类型的意义
    一、存入的值类型;
    二、占据的存储空间;
    三、定长还变长;
    四、如何比较及排序;
    五、是否可以索引;

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位



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

0javascript

收藏java

不远晴空

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

Ctrl+Enter 发布mysql

发布sql

取消数据库

相关文章
相关标签/搜索