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 个字节,即… 阅读更多