134 次檢視
AUTO_INCREMENT 意味著該列將自動獲取值。為了說明這一點,我們建立了一個名為“employees”的表,如下所示: mysql> Show Create Table employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE `employees` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(35) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec) 從以上結果集可以看出,列 id 被賦予了自動增量選項。現在,當我們在 Name 中插入值時…… 閱讀更多
888 次檢視
假設我們有一個名為“Order123”的表,其中包含 ProductName、Quantity 和 OrderDate 列,如下所示: mysql> Select * from Order123; +-------------+----------+------------+ | ProductName | Quantity | OrderDate | +-------------+----------+------------+ | A | 100 | 2017-05-25 | | B | 105 | 2017-05-25 | | C | 55 | 2017-05-25 | | D | 250 | 2017-05-26 | | E | 500 | 2017-05-26 | | ... 閱讀更多
92 次檢視
MySQL DATE 資料型別的預設格式為“YYYY-MM-DD”,在此格式中,無法儲存時間值。因此,我們可以說我們不能將 DATE 資料型別與時間值一起使用。正如我們在以下示例中看到的,即使使用日期和時間,MySQL 也只返回日期值。 mysql> select DATE("2017-09-25 09:34:21"); +-----------------------------------+ | DATE("2017-09-25 09:34:21") | +-----------------------------------+ | 2017-09-25 | +-----------------------------------+ 1 row in set (0.04 sec) 但是,在 DATETIME 和 TIMESTAMP 日期資料型別中,我們可以將時間與日期一起使用。
DEFAULT 約束用於為 MySQL 表中的列設定預設值。如果將其應用於列,則如果未為該列提供任何值,它將採用預設值。其語法如下: 語法 DEFAULT default_value 其中,default_value 是為列設定的預設值。 示例 以下查詢將建立一個名為 workers 的表,我們為列 id 分配預設值 1000。 mysql> Create table workers(Name Varchar(25), Id INT NOT NULL DEFAULT 1000); Query OK, 0 rows affected (0.47 sec) mysql> Insert into workers(Name, Id) values('Ram', 101); Query OK, 1 row ... 閱讀更多
117 次檢視
MySQL 支援以下 5 種 DATE 資料型別: DATE - 日期範圍在 1000-01-01 到 9999-12-31 之間。“YYYY-MM-DD” 是預設的 DATE 格式。例如,1984 年 1 月 17 日將儲存為 1984-01-17。 DATETIME - 此資料型別支援日期和時間,範圍在 1000-01-01 00:00:00 到 9999-12-31 23:59:59 之間。“YYYY-MM-DD HH:MM:SS” 是預設的 DATETIME 格式。例如,1984 年 1 月 17 日下午 2:20 將儲存為 1984-01-17 14:20:00。 TIMESTAMP - 時間戳資料型別支援日期和時間,範圍在“1970-01-01 00:00:01”到“2038-01-19 08:44:07”之間。它 ... 閱讀更多
64 次檢視
MySQL SHOW CREATE TABLE 語句將為我們提供應用於特定表的約束,以及儲存在另一個數據庫(而非我當前使用的資料庫)中的該表的一些其他詳細資訊。其語法如下: 語法 SHOW CREATE TABLE db_name.table_name; 其中 table_name 是我們要檢視其約束的表的名稱。Db_name 是儲存表的資料庫的名稱。 示例 在此示例中,我們獲取儲存在 MySQL 資料庫中的名為“arena”的表的詳細資訊: mysql> Show Create table mysql.arena\G *************************** 1. row *************************** Table: arena Create Table: CREATE TABLE ... 閱讀更多
71 次檢視
MySQL SHOW CREATE TABLE 語句將為我們提供應用於特定表的約束,以及有關該表的一些其他詳細資訊。其語法如下: 語法 SHOW CREATE TABLE table_name; 其中 table_name 是我們要檢視其約束的表的名稱。 示例 在此示例中,我們獲取名為“employees”的表的詳細資訊: mysql> Show Create table employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE `employees` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(35) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 ... 閱讀更多
104 次檢視
眾所周知,在 MySQL 中,VARCHAR 值儲存為 1 位元組或 2 位元組長度字首加上資料。此長度字首指出資料值中的位元組數。資料值本身將決定 VARCHAR 資料型別何時使用 1 位元組,何時使用 2 位元組字首長度。 如果值不需要超過 255 個位元組,則列使用 1 位元組長度。 如果值可能需要超過 255 個位元組,則列使用 2 位元組長度。
575 次檢視
下表將為我們提供 PRIMARY KEY 和 UNIQUE 約束之間的差異: PRIMARY KEY UNIQUE 約束 1. 在一個表上只能建立一個主鍵。 1. 可以向一個表新增多個 UNIQUE 約束。 2. 主鍵預設建立聚集索引。 2. UNIQUE 約束預設建立非聚集索引。 3. 我們不能在定義為 PRIMARY KEY 的列中插入空值。 3. 我們可以在具有 UNIQUE 約束的列中插入空值。
310 次檢視
實際上,MySQL 中的這兩種資料型別都儲存字串,並且可以設定最大長度。這些資料型別的使用完全取決於需要。以下是一些要點,這些要點將使我們清楚何時應該使用 CHAR,何時應該使用 VARCHAR: 假設我們有固定大小的資料,例如“Y”和“N”的標誌,那麼最好使用 CHAR 而不是 VARCHAR。這是因為 VARCHAR 還使用 1 位元組的長度字首。換句話說,對於上述型別的資料,CHAR 將僅儲存 1 個位元組,即… 閱讀更多