专栏名称: 码农肥波
工程师
目录
相关文章推荐
游戏那点事Gamez  ·  在鹰角“泡”了一整天,我笑得完全停不下来 ·  3 天前  
游戏那点事Gamez  ·  5月全球手游收入Top20:国产独占6席,一 ... ·  昨天  
游戏那点事Gamez  ·  活了?畅销Top1突然换人:消失整整4年,它 ... ·  6 小时前  
游戏那点事Gamez  ·  从没想过这款新作5天狂售350万份,但口碑却 ... ·  2 天前  
51好读  ›  专栏  ›  码农肥波

比CRUD多一点儿(二):基础INSERT、SELECT语句

码农肥波  · 掘金  ·  · 2018-01-05 02:23

正文

请到「今天看啥」查看全文


  • DDL(Data Definition Language):数据定义语言,定义数据库、数据表、列、索引等。包括create, drop, alter等。

  • DCL(Data Control Language):数据控制语句,用于控制不同数据的访问权限,配置密码等。暴扣grant, revoke。

  • 本文下来分别介绍DML中的 INSERT , SELECT , UPDATE , DELETE

    INSERT语句

    最简单的形式如下:

    insert into table_name(id, cardno, `name`, `desc`) values('1', 100001, "good", "good boy");  
    

    第一个括号里是列名,第二个括号里是对应顺序的值。

    一次插入多条数据:

    insert into table_name(id, cardno, `name`, `desc`) values('1', 100001, "good", "good boy"),('2', 100002, "bad", "bad girl"); 
    

    几个常见Tip

    顺带说几个常见的小问题,在上面的写法里出现的:

    • 表名和列名可以使用```做转移符,用途是当列名和表名为 desc , select 这种SQL的关键字和保留字时候必须使用,否则是会报语法错误的。
    • 关于保留字和关键字不同,比如 select 是关键字, desc 是保留字 具体可看手册 。实际上人脑也不会记忆这些关键字,所以在使用时候就全都使用转义就好了。学海无涯,每种技术的缩写、特例等等层出不穷,笔者的习惯是记忆一种比较通用和安全的用法,始终去使用即可。因为很多技术点的多种方法也是一项技术发展的历史原因造成的,并不是说都记着多种办法会有切实的场景。如果表自己创建时候,推荐的做法就还是要过一遍上述链接中的保留字,直接不要使用这些词为好,毕竟这个选名字的时间在建表做设计阶段总的时间比起来并不会占用多少比例。笔者遇到的一些ORM库之类对这些关键字可能并不是处理的十全十美,所以不用是最佳。
    • 不止字符型,其实所有插入内容其实都可以用 ' 引起来。用 ' 不用 " 还有一个好用的地方是当输入字符串里面有双引号 " 时候,可以免于写一级转义。
    • 表常常会有自增ID,其实被设置为自增的id也是可以在insert和update时候指定的,只是当不指定值时候才会自增。

    INSERT INTO ... SELECT 用法:

    这是很常用的技巧,当进行数据导入时候会碰到插入的数据需要从另一个表中获取,可以使用 insert into ... select 的写法。







    请到「今天看啥」查看全文