mysql空间数据模型_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'.

五 可能遇到的问题

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位

54129a0ac04ce5f5740e18d4b79c2ad7.png

625737474c185bb1cd9629262981d648.png

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

©著作权归作者所有:来自51CTO博客作者不远晴空的原创作品,如需转载,请注明出处,否则将追究法律责任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值