找到 4219 篇文章,关于 MySQLi
802 次浏览
在 MySQL 中,我们可以通过将该列声明为 DEFAULT CURRENT_TIMESTAMP,在向其他列插入 NULL 值时自动向列插入当前日期和时间。在这种情况下,我们不能将我们想要插入 NULL 值的列声明为 NOT NULL。mysql> Create Table Testing1(Name Varchar(20), RegStudent TIMESTAMP DEFAULT CURRENT_TIMESTAMP); Query OK, 0 rows affected (0.15 sec) 以上查询将创建一个名为 ‘Testing1’ 的表,其中包含一个名为 ‘Name’ 的列(未声明为 ‘NOT NULL’)和另一个名为 ‘RegDate’ 的列,声明为 DEFAULT CURRENT_TIMESTAMP。现在,在向 Name 列插入 NULL 值时,将自动插入当前日期和时间…… 阅读更多
2K+ 次浏览
要在 INSERT INTO 语句中不指定列名的情况下向列中插入值,我们必须提供与表中列数匹配的值数量,同时也要注意该列的数据类型。示例:在下面的示例中,我们在不指定列名的情况下插入了值。mysql> Insert into student values(100, 'Gaurav', 'Ph.D'); Query OK, 1 row affected (0.08 sec) mysql> Select * from student; +--------+--------+--------+ | RollNO | Name | Class | +--------+--------+--------+ | 100 | Gaurav | Ph.D | +--------+--------+--------+ … 阅读更多
82 次浏览
这样做的原因是 MySQL 要求单位关键字必须是单数形式,而不管英语语法规则如何。如果我们尝试提供 7 days、2 hours 等间隔,MySQL 将产生如下语法错误:mysql> Select '2017-02-25 05:04:30' + INTERVAL 2 days; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'days' at line 1
2K+ 次浏览
在 MySQL 中,我们可以通过将该列声明为 DEFAULT CURRENT_TIMESTAMP,在向其他列插入值时自动向列插入当前日期和时间。示例mysql> Create table testing -> ( -> StudentName varchar(20) NOT NULL, -> RegDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP -> ); Query OK, 0 rows affected (0.49 sec) 以上查询将创建一个名为 ‘testing’ 的表,其中包含一个名为 StudentName 的列和另一个名为 ‘RegDate’ 的列,声明为 DEFAULT CURRENT_TIMESTAMP。现在,在插入值(即 StudentName 列中的姓名)时,当前日期和时间将自动插入到另一个列中。mysql> Insert … 阅读更多
155 次浏览
当我们运行 INSERT INTO 语句而不提供列名和值时,MySQL 将 NULL 作为表列的值存储。考虑以下示例,我们使用以下查询创建了一个名为 ‘Student’ 的表:mysql> Create table Student(RollNO INT, Name Varchar(20), Class Varchar(15)); Query OK, 0 rows affected (0.17 sec) 现在,我们可以运行 INSERT INTO 语句,而不提供列名和值,如下所示:mysql> Insert into Student() Values(); Query OK, 1 row affected (0.02 sec) 从下面的查询中我们可以看到,MySQL 将 NULL 作为…… 阅读更多
704 次浏览
我们可以使用 SHOW CREATE TABLE 查询来查看现有表的 create table 语句。语法:SHOW CREATE TABLE table_name; 示例:以下查询提供了 ‘Employee’ 表的 CREATE TABLE 语句。mysql> Show create table employee\G *************************** 1. row *************************** Table: employee Create Table: CREATE TABLE `employee` ( `Id` int(11) DEFAULT NULL, `Name` varchar(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 1 row in set (0.00 sec)
124 次浏览
如果我们想获取更多关于现有表列的详细信息,我们需要使用 SHOW FULL COLUMNS 语句。考虑以下示例,其中 SHOW FULL COLUMNS 语句已应用于 ‘Employee’ 表,MySQL 返回的结果集包含一些额外的详细信息,例如关于表的列的排序规则、权限和注释:mysql> SHOW FULL COLUMNS FROM EMPLOYEE\G *************************** 1. row *************************** Field: Id Type: int(11) Collation: NULL Null: YES Key: Default: NULL Extra: Privileges: select, insert, update, references … 阅读更多
82 次浏览
MySQL INTERVAL 关键字可以使用不同的单位值如下:MICROSECOND 此单位用于从当前时间或用户提供的时间添加或减去指定数量的微秒。mysql> Select NOW()+INTERVAL 100 MICROSECOND +--------------------------------+ | NOW()+INTERVAL 100 MICROSECOND | +--------------------------------+ | 2017-10-28 18:47:25.000100 | +--------------------------------+ 1 row in set (0.00 sec) 以上查询将使用 MySQL INTERVAL 关键字向当前日期和时间添加 100 微秒。mysql> Select '2017-02-25 05:04:30' + INTERVAL 100 Microsecond; +--------------------------------------------------+ | '2017-02-25 05:04:30' + INTERVAL 100 Microsecond | +--------------------------------------------------+ | … 阅读更多
114 次浏览
假设我们在 MySQL 表中将日期值存储为 ‘0000-00-00’,那么从这种日期中提取年份值时,MySQL 将返回 0。它不会以 Year(2) 或 Year(4) 的格式显示。为了理解这一点,我们使用 ‘detail_bday’ 表中的以下数据:mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ | 1 | Saurabh | 1990-05-12 | | 2 | Raman | 1993-06-11 | | 3 | Gaurav | 1984-01-17 | | 4 | Rahul | 1993-06-11 | | 5 | Sonia … 阅读更多