域名代备案网站,项目外包app,公司邮箱登录,网站布局结构本篇大纲MySQL数据表创建表创建主键AUTO_INCREATE指定默认值更新表结构删除表#xff0c;重命名表01#xff1a;表MySQL 数据库的表是一个二维表#xff0c;由一个或多个数据列构成每个数据列都有它的特定类型#xff0c;该类型决定了MySQL如何看待该列数据02#xff1a;创…本篇大纲MySQL数据表创建表创建主键AUTO_INCREATE指定默认值更新表结构删除表重命名表01表MySQL 数据库的表是一个二维表由一个或多个数据列构成每个数据列都有它的特定类型该类型决定了MySQL如何看待该列数据02创建表(命令)格式使用create table 创建表必须给出下列信息新表的名字表中列的名字和定义用逗号分隔创建表(实例)CREATE TABLE customers(cust_id int NOT NULL AUTO_TNCREMENT,cutst_name char(50) NOT NULL,cust_address char(50) NULL,cust_city char(50) NULL,PRIMARY KEY (cust_id))ENGINEInnoDB;03:创建表(说明)从例子中可以看到表名紧跟在CREATETABLE关键字后面实际的表定义(所有列)括在圆括号之中各列之间用逗号分隔这个表由9列组成。每列的定义以列名开始后跟列的数据类型表的主键可以在创建表时用PRIMARY KEY 关键字指定04给列指定NULL类型NULL 值就是没有值或缺省定义为NULL值的列允许在插入行时不给出该列的值指定NOT NULL值的列在插入或更新行时该列必须有值例1创建表并指定特定的列为NOT NULL给列指定NULL类型(实例)CREATE TABLE order(order_num int NOT NULL AUTO_TNCRMENT,order_date datetime NOT NULL,cust_id int NOT NULL,PRIMARY KEY (order_num))ENFINEInnoDB05创建主键主键值必须唯一。即表中的每行必须具有唯一的主键值如果主键使用单个列则他的值必须唯一。如果使用多个列则这些列的组合值必须唯一创建主键的语法是在创建表的时候使用如下命令PRIMAY KEY(列名)06AUTO_INCREMENTAUTO_INCREMENT告诉MySQL本列每当增加一行时自动增量每次执行一个insert操作时MySQL自动对该列增1每个表只允许一个AUTO_INCREMENT列而且它必须可以被索引(通常使用它作为主键)使用语句select last_insert_id() 可以获取当前表中的AUTO_INCREMENT值07指定默认值如果在插入行时没有给出值MySQL允许指定此时使用的默认值默认值用create table语句的列定义中的DEFAULT关键字指定指定默认值(实例)CREAT TABLE orderitems(order_num int NOT NULL,prod_id char(10) NOT NULL,quantity int NOT NULL DEFAULT 1PRIMARY KEY (order_num,order_item))ENGINEInnoDB08:更新表更新表的定义使用ALTER TABLE语句使用ALTER TABLE更改表结构必须给出下面的信息在ALTER TABLE之后给出更改的表名所做更改的列表09添加列(实例1)实例给表添加一列ALTER TABLE vendors ADD vend_phone CHAR(20) not null default 123456;说明上述语句给vendors表增加一个名为vend_phone的列必须明确其数据类型10添加列(实例2)11修改列格式Alter table 表名 modify 列名 新类型 新参数alter table 表名 change 旧列名 新列名 新类型 新参数12修改列(实例1)13修改列(实例2)14删除列(实例)格式alter table 表名 drop 列名实例删除一例ALTER TABLE vendors Drop vend_phone;15:更新表(实例)实例3给表指定外键16删除表删除表是删除整个表而不是其内容使用命令DROP TABLE 表名17重命名表使用RENAME TABLE 语句可以重命名一个表RENAME TABLE 旧的表名 TO 新的表名