找到 4379 篇文章 关于 MySQL
6K+ 次浏览
我们还可以使用 ALTER 命令向现有表中添加多个列。其语法如下:语法Alter table 表名 ADD (列名1 数据类型, 列名2 数据类型,… 列名N 数据类型);示例在下面的示例中,使用 ALTER 命令,将“Address”、“Phone”和“Email”列添加到“Student”表中。mysql> Alter Table Student ADD(Address Varchar(25), Phone INT, Email Varchar(20)); Query OK, 5 rows affected (0.38 sec) Records: 5 Duplicates: 0 Warnings: 0
160 次浏览
假设我们想在 MySQL 表中存储诸如 2 月 30 日之类的日期,那么我们必须首先启用 ALLOW_INVALID_DATES 模式。例如,我尝试在未启用 ALLOW_INVALID_DATES 模式的表中添加此类日期,则 MySQL 将给出如下错误:mysql> Insert into date_testing(date) values('2017-02-30'); ERROR 1292 (22007): Incorrect date value: '2017-02-30' for column 'Date' at row1现在我们需要启用 ALLOW_INVALID_DATES 模式,如下所示:mysql> SET sql_mode = 'ALLOW_INVALID_DATES'; Query OK, 0 rows affected (0.00 sec) mysql> Insert into date_testing(date) values('2017-02-30'); Query OK, 1 row affected (0.14 ... 阅读更多
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。现在,在将 NULL 值插入 Name 列时,将自动插入当前日期和时间 ... 阅读更多
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 表名;示例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)上面的查询给出了“Employee”表的 CREATE TABLE 语句。
124 次浏览
如果我们想获取更多关于现有表列的详细信息,则需要使用 SHOW FULL COLUMNS 语句。考虑下面的示例,其中 SHOW FULL COLUMNS 语句已应用于“Employee”表,MySQL 返回的结果集包含一些额外的详细信息,例如 Collation、Privileges 和 Comment,关于表的列: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 ... 阅读更多
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP