162 次浏览
借助 CTAS,即“创建表作为选择”脚本,我们可以从现有表创建表。它复制表结构以及来自现有表的数据。考虑以下示例,其中我们从名为“Employee”的现有表创建了一个名为 EMP_BACKUP 的表 -mysql> 从 Employee 中选择 *; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 | Mohan | +------+--------+ 3 行结果集 (0.00 秒)上述查询显示了表“Employee”中的数据,以及查询 ... 阅读更多
206 次浏览
CREATE 命令是 DDL 命令,用于创建表或数据库。使用 CREATE 命令创建表和数据库的语法如下:创建数据库的语法 -创建数据库数据库名称;示例mysql> 创建数据库查询; 查询确定,1 行受影响 (0.04 秒)在上面的示例中,我们创建了一个名为“query”的数据库。创建表的语法 -创建表表名( 列名 1 数据类型 1, 列名 2 数据类型 2, 列名 3 数据类型 3, 列名 4 数据类型 4 ------------------------------);示例mysql> 创建表 Employee(Id INT,Name Varchar(20)); 查询确定,0 行受影响 (0.19 秒)在上面的示例中,我们创建了一个 ... 阅读更多
514 次浏览
没有,MySQL 没有首选的命名约定标准。如果我们选择的名称逻辑一致,那么它就可以了。需要记住两点,一是两个表/数据库不能同名,二是我们可以选择任何保留字作为表/数据库的名称。
493 次浏览
这可以通过在 MySQL 查询中使用 CURDATE() 或 NOW() 来完成,如下所示:mysql> 插入 year1(Year_Copyright)值(CURDATE()); 查询确定,1 行受影响,1 个警告 (0.06 秒) mysql> 从 year1 中选择 *; +----------------+ | Year_Copyright | +----------------+ | 2017 | | 2017 | +----------------+ 2 行结果集 (0.00 秒) mysql> 插入 year1(Year_Copyright)值(NOW()); 查询确定,1 行受影响,1 个警告 (0.06 秒) mysql> 从 year1 中选择 *; +----------------+ | Year_Copyright | +----------------+ | 2017 | | 2017 | | 2017 | +----------------+ 1 行结果集 (0.00 秒)
389 次浏览
MySQL 允许声明 YEAR 类型的列,借助该列,我们可以在该列中存储年份值。mysql> 创建表 year1(Year_Copyright YEAR); 查询确定,0 行受影响 (0.21 秒) mysql> 插入 year1(Year_Copyright)值(2017); 查询确定,1 行受影响 (0.08 秒) mysql> 从 year1 中选择 *; +----------------+ | Year_Copyright | +----------------+ | 2017 | +----------------+ 1 行结果集 (0.00 秒)
4K+ 次浏览
SQL 语言分为四种主要语言语句:DML、DDL、DCL 和 TCL。使用这些语句,我们可以通过创建和更改数据库对象来定义数据库的结构,并且可以通过更新或删除来操作表中的数据。我们还可以控制哪个用户可以读取/写入数据或管理事务以创建一个工作单元。SQL 语句的四大主要类别如下:DML(数据操纵语言)DML 语句影响表中的记录。这些是我们对数据执行的基本操作,例如从表中选择一些记录、 ... 阅读更多
借助 CURDATE() 和 NOW() 函数,我们可以将当前日期自动插入 MySQL 表的列中。示例假设我们要将当前日期自动插入表 year_testing 的 OrderDate 列中,以下查询将执行此操作:mysql> 插入 year_testing(OrderDate)值(CURDATE()); 查询确定,1 行受影响 (0.11 秒) mysql> 从 year_testing 中选择 *; +------------+ | OrderDate | +------------+ | 2017-10-28 | +------------+ 1 行结果集 (0.00 秒) mysql> 插入 year_testing(OrderDate)值(NOW()); 查询确定,1 行受影响,1 个警告 (0.12 秒) mysql> 从 year_testing 中选择 *; +------------+ | OrderDate | +------------+ ... 阅读更多
188 次浏览
我们可以通过禁用 NO_ZERO_IN_DATE 模式来存储仅包含年份值并在 MySQL 表中具有零个月和零天的日期。如果启用此模式,则 MySQL 会将此类日期视为无效日期并存储所有零。mysql> 插入 year_testing(OrderDate)值('2017:00:00'); 查询确定,1 行受影响 (0.09 秒) mysql> 从 year_testing 中选择 *; +------------+ | OrderDate | +------------+ | 2017-00-00 | +------------+ 1 行结果集 (0.00 秒) mysql> 设置 sql_mode = 'NO_ZERO_IN_DATE'; 查询确定,0 行受影响 (0.00 秒) mysql> 插入 year_testing(OrderDate)值('2017:00:00'); 查询确定,1 行 ... 阅读更多
194 次浏览
实际上,用户没有默认数据库。但是,我们有当前会话的默认数据库。可以从以下查询中看出:mysql> 选择数据库(); +------------+ | Database() | +------------+ | sample | +------------+ 1 行结果集 (0.00 秒)上述结果集显示我们当前正在使用“sample”数据库。它设置为当前会话。我们还可以使用 USE 语句为当前会话设置另一个数据库,如下所示:mysql> 使用查询; 数据库已更改 mysql> 选择数据库(); +------------+ | Database() | +------------+ | query ... 阅读更多
83 次浏览
众所周知,CURDATE() 仅返回日期单位,因此将时间单位的 INTERVAL 与 CURDATE() 一起使用将模棱两可。MySQL 始终以“00:00:00”时间表示当前日期,因此当我们将时间单位的 INTERVAL 与 CURDATE() 一起使用时,此类时间算术将考虑此时间。以下示例将阐明它:mysql> 选择 CURDATE() + INTERVAL 0 小时; +-----------------------------+ | curdate() + Interval 0 hour | +-----------------------------+ | 2017-10-28 00:00:00 | +-----------------------------+ 1 行结果集 (0.00 秒) mysql> 选择 CURDATE() + INTERVAL 1 小时; +-----------------------------+ | curdate() ... 阅读更多