mysql含义
1.數據庫的概念
數據庫就像一個儲存容器,他是一個存儲和管理數據的一個倉庫。
數據庫的優點如下:
我們現在用的mysql數據庫都是屬于關系結構模型的數據庫;他們是使用二維表來存儲數據,可能隨著技術的發展將來mysql可能會升級為新的方式來存儲數據,比如關系-對象性數據庫。
我們所說的數據庫都是泛指關系型數據庫管理系統(RDBMS),即數據庫服務器。
RDBMS= 數據庫管理員(manager)+倉庫(database);
數據庫倉庫里面可以有多個數據庫,數據庫一共由多張表組成,表里面存在表結構,這里的表結構指的是定義表的的列名與列類型。
還有一個概念表記錄指的是表中一行一行的數據。
2.sql語句
sql語句就是“結構化查詢語言”,它可以對關系型數據庫的操作語言。
SQL可以用在所有關系型數據庫中,但很多數據庫還都有標準之后的一些語法,我們可以稱之為“方言”。例如MySQL中的LIMIT語句就是MySQL獨有的方言,其它數據庫都不支持!當然,Oracle或SQL Server都有自己的方言。
語法要求
SQL數據類型
MySQL與Java一樣,也有數據類型。MySQL中數據類型主要應用在列上。
MySQL中的數據類型有很多,主要分為三類:數值類型、字符串類型、日期時間類型。
數值類型:
| TINYINT | 1byte | (-128,127) | (0,255) | 小整數值 |
| SMALLINT | 2bytes | (-32768,32767) | (0,65535) | 大整數值 |
| MEDIUMINT | 3bytes | (-8388608,8388607) | (0,16777215) | 大整數值 |
| INT | 4bytes | (-2147483648, 2147483647) | (0,4294967295) | 大整數值 |
| BIGINT | 8bytes | (-263,263-1) | (0,2^64-1) | 大整數值 |
| FLOAT | 4bytes | (-3.402823466 E+38, 3.402823466351 E+38) | 0 和 (1.175494351 E- 38,3.402823466 E+38) | 單精度浮點數值 |
| DOUBLE | 8bytes | (-1.7976931348623157E+308,1.7976931348623157E+308) | 0 和(2.2250738585072014E-308,1.7976931348623157E+308) | 雙精度浮點數值 |
| DECIMAL | 依賴于M(精度)和D(標度) 的值 |
字符串類型
| CHAR | 0-255 bytes | 固定長字符串(需要指定長度) |
| VARCHAR | 0-65535 bytes | 變長字符串(需要指定長度) |
| TINYBLOB | 0-255 bytes | 不超過255個字符的二進制數據 |
| TINYTEXT | 0-255 bytes | 短文本字符串 |
| BLOB | 0-65 535 bytes | 二進制形式的長文本數據 |
| TEXT | 0-65 535 bytes | 長文本數據 |
| MEDIUMBLOB | 0-16 777 215 bytes | 二進制形式的中等長度文本數據 |
| MEDIUMTEXT | 0-16 777 215 bytes | 中等長度文本數據 |
| LONGBLOB | 0-4 294 967 295 bytes | 二進制形式的極大文本數據 |
| LONGTEXT | 0-4 294 967 295 bytes | 極大文本數據 |
char 如果你輸入的字符長度沒有達到指定長度的話會自動補空格。
而varchar這里如果你輸入的字符長度沒有達到指定長度的話,他是不會補空格的,所以一般都是使用varchar
日期時間類型:
| DATE(常用) | 3 | 1000-01-01 至 9999-12-31 | yyyy-MM-dd | 日期值 |
| TIME | 3 | -838:59:59 至 838:59:59 | hh:mm:ss | 時間值 |
| YEAR | 1 | 1901 至 2155 | yyyy | 年份值 |
| DATETIME(常用) | 8 | 1000-01-01 00:00:00 至9999-12-31 23:59:59 | yyyy-MM-dd hh:mm:ss | 日期加時間 |
| TIMESTAMP | 4 | 1970-01-01 00:00:01 至2038-01-19 03:14:07 | yyyy-MM-dd hh:mm:ss | 日期加時間 |
sql的分類
- DDL(Data Definition Language):數據定義語言,用來定義數據庫對象:庫、表、列等;
- DML(Data Manipulation Language):數據操作語言,用來定義數據庫記錄(數據);
- DCL(Data Control Language):數據控制語言,用來定義訪問權限和安全級別;
- DQL(Data Query Language):數據查詢語言,用來查詢記錄(數據)。
sql字符集編碼
字符集與排序規則:
字符集:
- utf8: utf8 編碼最?字符長度為 3 字節,如果遇到 4 字節的寬字符就會插?異常了,比如Emoji表情,就無法使用utf8存儲,推薦使用utf8mb4
- utf8mb4: mb4即most bytes 4,專門用來兼容四個字節即以上的unicode, 在Mysql在5.53版本之后
排序規則:
- utf8mb4_bin:將字符串每個字符??進制數據編譯存儲,區分??寫,?且可以存?進制的內容。推薦使用
- utf8mb4_general_ci:ci即case insensitive,不區分??寫。沒有實現Unicode排序規則,在遇到某些特殊語?或者字符集,排序結果可能不?致。但是,在絕?多數情況下,這些特殊字符的順序并不需要那么精確。
- utf8mb4_unicode_ci:是基于標準的Unicode來排序和?較,能夠在各種語?之間精確排序,Unicode排序規則為了能夠處理特殊字符的情況,實現了略微復雜的排序算法。
- utf8mb4_general_ci是?個遺留的 校對規則,不?持擴展,它僅能夠在字符之間進?逐個?較。
- utf8_general_ci校對規則進?的?較速度很快,但是與使? utf8mb4_unicode_ci的校對規則相?,?較慢
總結
- 上一篇: 计算机基础应用在线模拟考试,计算机应用基
- 下一篇: 拼多多:补贴与盈利背道而驰