V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
esolve
V2EX  ›  问与答

mysql 的几个理解

  •  
  •   esolve · 2017-04-25 18:23:00 +08:00 · 1497 次点击
    这是一个创建于 2768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看一个 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 ?

    4 条回复    2017-04-26 00:49:36 +08:00
    billlee
        1
    billlee  
       2017-04-25 20:36:31 +08:00
    SELECT <字面值> AS <字段名>
    返回一行数据,只有一个字段 INFO, 值为字符串 CREATING DATABASE STRUCTURE
    字段名只要不和保留字冲突,可以不加引号
    billlee
        2
    billlee  
       2017-04-25 20:39:59 +08:00
    第二个 CONCAT 是个内置函数,这个和 SELET COUNT(*) 是一样的语法
    第三个就是把 dept_emp, dept_manager, titles, salaries, employees, departments 都 DROP 掉,这个应该 reference manual 写得很清楚吧
    esolve
        3
    esolve  
    OP
       2017-04-25 23:42:02 +08:00
    @billlee
    谢谢
    返回一行数据? 这个 INFO 是啥?变量?表的一项?用来做啥的? 为何有时候加‘’有时候不加
    ivvei
        4
    ivvei  
       2017-04-26 00:49:36 +08:00 via Android
    @esolve info 就是返回的结果集的字段别名。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2654 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:12 · PVG 13:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.