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 KEYUNIQUE 约束1. 在一个表上只能创建一个主键。1. 可以向一个表添加多个 UNIQUE 约束。2. PRIMARY KEY 默认创建聚集索引。2. UNIQUE 约束默认创建非聚集索引。3. 我们不能在定义为 PRIMARY KEY 的列中插入空值。3. 我们可以向具有 UNIQUE 约束的列中插入空值。
309 次浏览
实际上,MySQL 中的这两种数据类型都存储字符串,并且可以设置最大长度。这些数据类型的使用完全取决于需要。以下是一些要点,这些要点将使我们清楚何时应该使用 CHAR,何时应该使用 VARCHAR:假设我们有固定大小的数据,例如“Y”和“N”的标志,那么最好使用 CHAR 而不是 VARCHAR。这是因为 VARCHAR 还使用 1 字节的长度前缀。换句话说,对于上述类型的数据,CHAR 只会存储 1 个字节,它 ... 阅读更多
5K+ 次浏览
CHAR 和 VARCHAR 都是 ASCII 字符数据类型,几乎相同,但它们在从数据库存储和检索数据阶段有所不同。以下是 MySQL 中 CHAR 和 VARCHAR 之间的一些重要区别:CHAR 数据类型VARCHAR 数据类型全名是 CHARACTER全名是 VARIABLE CHARACTER它以固定长度存储值,并用空格字符填充以匹配指定的长度VARCHAR 以可变长度存储值,以及 1 字节或 2 字节长度前缀,并且不填充任何字符它最多可以容纳 255 个字符。它最多可以容纳 65,... 阅读更多
609 次浏览
CHAR 和 NCHAR 都是定长字符串数据类型。它们的区别如下:CHAR 数据类型 NCHAR 数据类型全称是 CHARACTER。全称是 NATIONAL CHARACTER。使用 ASCII 字符集。使用 Unicode 字符集,数据以 UTF8 格式存储。每个字符占用 1 个字节的空间。每个字符占用 2 个字节的空间。mysql>create table hello1(name CHAR(20)); Query OK, 0 rows affected (0.15 mysql>create table hello(name NCHAR(20)); Query OK, 0 rows affected (0.61