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 位元組長度。
574 次檢視
下表將為我們提供 PRIMARY KEY 和 UNIQUE 約束之間的差異 -PRIMARY KEYUNIQUE 約束1. 在一個表上只能建立一個主鍵。1. 可以向一個表新增多個 UNIQUE 約束。2. 主鍵預設建立聚集索引。2. UNIQUE 約束預設建立非聚集索引。3. 我們不能在定義為 PRIMARY KEY 的列中插入空值。3. 我們可以向具有 UNIQUE 約束的列中插入空值。
309 次檢視
實際上,MySQL 中的這兩種資料型別都儲存字串,並且可以設定最大長度。這些資料型別的使用完全取決於需要。以下是一些要點,可以使我們清楚何時應該使用 CHAR,何時應該使用 VARCHAR -假設我們有固定大小的資料,例如“Y”和“N”的標誌,那麼最好使用 CHAR 而不是 VARCHAR。這是因為 VARCHAR 還使用了 1 位元組的長度字首。換句話說,對於上述型別的資料,CHAR 將只儲存 1 個位元組,即 ... 閱讀更多