8. 数据操作

点开一张表的设计模式,我们可以看到这样一张图:

现在就要认识这个界面啦。首先在上面有表名,所属数据库,中间列表显示了列名称和数据类型等。数据类型中INT代表integer value,只能输入整数,VARCHAR指variable character,还有类型是CHAR,VARCHAR的好处在于不会浪费存储空间。比如VARCHAR(50),当输入三个字符时系统仅会储存三个字符的空间,当使用CHAR(50)时,系统会填充47个空格来填满空间,是一种浪费。PK是指primary key,主键,它唯一的标识了每一位顾客;NN是指not NULL,如果勾上这一列不能有缺失值。Customer_id后勾上的AI是auto increment自动递增的意思,通常跟PK一起勾上。最后还有DEFUALT/EXPRESSION,默认值,若不给数据,MySQL将会以设定的默认值自动填充。

数据的插入(INSERT INTO)

使用INSERT INTO +VALUES可以在表中加入新数据,如图所示:

可以指定具体插入哪几列,这样就可以只输入那几列的值,其他列的值将会使用默认值代替。想要同时插入几个新数据,只需在VALUE后多用几个括号,中间用逗号隔开就行,如图:

之后练习如何插入分层数据,这里需知道MySQL有很多内置函数,如LAST就可以调用上一步操作的东西。如图所示:

如图,现在orders表中插入一行新数据,接着在order_items表中插入刚刚获得的id以及其订单情况。

9. 创建表和复制数据

用CREAT TABLE可以创建表

如图,左边数据库中出现了order_archives这张表,并且表里的内容和orders里的内容完全一致,如果想选择别的内容加入表中,用SELECT语句加入即可。

10. 更新数据

使用UPDATE指令可以更新数据,具体如图:

这样就可以将invoices表里第一个invoice的payment_total和payment_date项更新啦。

这里需要注意的是,若要同时更新多行数据,需要关掉偏好里的自动更新。

在UPDATE中使用嵌套语句是一个很有用的技能,如果要有条件的更新表中的某些数据,需要用到嵌套,这时需要在UPDATE-SET指令后加一个WHERE,把条件输入到IN()括号中,如图所示:

在这里使用了嵌套,将在customers表中积分大于3000的顾客的订单中备注GOLD CUSTOMER。

11. 删除数据

删除数据使用DELETE FROM指令,后面可以加WHERE加条件删除,也可以加嵌套进行。