mysql 的几个理解

2017-04-25 18:23:00 +08:00
 esolve

我看一个 sql 数据库文件,如下

DROP DATABASE IF EXISTS employees; CREATE DATABASE IF NOT EXISTS employees; USE employees;

SELECT 'CREATING DATABASE STRUCTURE' as 'INFO';

DROP TABLE IF EXISTS dept_emp, dept_manager, titles, salaries, employees, departments;

set storage_engine = InnoDB; -- set storage_engine = MyISAM; -- set storage_engine = Falcon; -- set storage_engine = PBXT; -- set storage_engine = Maria;

select CONCAT('storage engine: ', @@storage_engine) as INFO;

有两个问题 1 这里的 SELECT 'CREATING DATABASE STRUCTURE' as 'INFO'; 和 select CONCAT('storage engine: ', @@storage_engine) as INFO; 是个什么语法?是定义变量 INFO ? 为何一个有''一个没有引号?

2 这个 DROP TABLE 语句什么意思啊? drop 哪个 table ?

1450 次点击
所在节点    问与答
4 条回复
billlee
2017-04-25 20:36:31 +08:00
SELECT <字面值> AS <字段名>
返回一行数据,只有一个字段 INFO, 值为字符串 CREATING DATABASE STRUCTURE
字段名只要不和保留字冲突,可以不加引号
billlee
2017-04-25 20:39:59 +08:00
第二个 CONCAT 是个内置函数,这个和 SELET COUNT(*) 是一样的语法
第三个就是把 dept_emp, dept_manager, titles, salaries, employees, departments 都 DROP 掉,这个应该 reference manual 写得很清楚吧
esolve
2017-04-25 23:42:02 +08:00
@billlee
谢谢
返回一行数据? 这个 INFO 是啥?变量?表的一项?用来做啥的? 为何有时候加‘’有时候不加
ivvei
2017-04-26 00:49:36 +08:00
@esolve info 就是返回的结果集的字段别名。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX