《MySQL 必知必会》课程笔记(三)
怎么创建和修改数据表?
创建和修改数据表,是数据存储过程中的重要⼀环。 我们不仅需要把表创建出来,还需要正确地设置限定条件,这样才能确保数据的一致性和完整性。 同时,表中的数据会随着业务需求的变化而变化,添加和修改相应的字段也是常见的操作。
如何创建数据表?
首先,我们要知道 MySQL 创建表的语法结构:CREATE TABLE < 表名> (
字段名 name1 数据类型 [ 字段级别约束] [ 默认值] ,
字段名 name2 数据类型 [ 字段级别约束] [ 默认值] ,
字段名 name3 数据类型 [ 字段级别约束] [ 默认值] ,
. . . . . .
[ 表级别约束]
) ;
我们通过定义表名、表中的字段、表的属性等,把一张表创建出来。 “约束”限定了表中数据应该满足的条件。 假设创建一个表叫做进货单头表(importhead):
1、2、3 表示门店的 3 种进货方式,分别是配送中心配送、门店采买和供货商直供。 其中,“1(配送中心配送)”是标准进货方式,我们希望这个字段的值能够默认是 1。 我们先来看基本的数据表创建流程如下:CREATE TABLE importhead (
listnumber INT ,
supplierid INT ,
stocknumber INT ,
importtype INT DEFAULT 1 ,
quantity DECIMAL ( 10 , 3 ) ,
importvalue DECIMAL ( 10 , 2 ) ,
recorder INT ,
recordingdate DATETIME
) ;
接下来插入一条数据:INSERT INTO importhead ( listnumber, supplierid, stocknumber, quantity, importvalue, recorder, recordingdate )
VALUES ( 3456 , 1 , 1 , 10 , 100 , 1 , '2020-12-10' ) ;
都有哪些约束?
给字段设置默认值的做法,就是默认约束。
设置了默认约束,插入数据的时候,如果不明确给字段赋值,那么系统会把设置的默认值自动赋值给字段。 除了默认约束,还有主键约束、外键约束、非空约束、唯⼀性约束和自增约束。 非空约束
非空约束表示字段值不能为空,如果创建表的时候,指明某个字段非空,那么添加数据的时候,这个字段必须有值,否则系统就会提示错误。 唯⼀性约束
唯⼀性约束表示这个字段的值不能重复,否则系统会提示错误。 跟主键约束相比,唯⼀性约束要更加弱⼀些。 自增约束
自增约束可以让 MySQL 自动给字段赋值,且保证不会重复,非常有用,只是不容易用好。 在数据表中,只有整数类型的字段(包括 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT),才可以定义自增约束。自增约束的字段,每增加⼀条数据,值自动增加 1。 你可以给自增约束的字段赋值,这个时候,MySQL 会重置自增约束字段的自增基数,下次添加数据的时候,自动以自增约束字段的最大值加 1 为新的字段值 。 在一个表中,我们可以指定多个字段满足唯一性约束,而主键约束则只能有一个,这是 MySQL 系统决定的。另外,满足主键约束的字段,自动满足非空约束,但是满足唯一性约束的字段,则可以是空值。
如何修改表?
进货单表是存储进货数据的。我们还要创建⼀个进货单历史表(importheadhist)来存储验收过的进货数据。 这个表的结构跟进货单表类似,只是多了 2 个字段,分别是验收人(confirmer)和验收时间(confirmdate)。
首先,我们要把原来的表结构复制:CREATE TABLE importheadhist
LIKE importhead;
我们需要对这个表进行修改,通过添加字段和修改字段,来获得我们需要的“进货单历史表”:ALTER TABLE importheadhist ADD confirmer INT ;
ALTER TABLE importheadhist ADD confirmdate DATETIME ;
除了添加字段,我们可能还要修改字段,我们要把字段名称“quantity” 改成 “importquantity”,并且把字段类型改为 DOUBLE:ALTER TABLE importheadhist
CHANGE quantity importquantity DOUBLE ;
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510226.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!