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 |
+--------------------+---------+----------------------------------------------------------------+---------
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
©著做權歸做者全部:來自51CTO博客做者不遠晴空的原創做品,如需轉載,請註明出處,不然將追究法律責任
Ctrl+Enter 發佈mysql
發佈sql
取消數據庫