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

取消數據庫

相關文章
相關標籤/搜索