MySQL必知必会笔记(十七):创建和操纵表

创建表

1、表创建基础
输入

CREATE TABLE customers
(
	cust_id			int			NOT NULL AUTO_INCREMENT,
	cust_name		char(50)	NOT NULL,
	cust_address	char(50)	NULL,
	cust_city		char(50)	NULL,
	cust_state		char(5)		NULL,
	cust_zip		char(10)	NULL,
	cust_country	char(50)	NULL,
	cust_contact	char(50)	NULL,
	cust_email		char(255)	NULL,
	PRIMARY KEY (cust_id)
) ENGINE = InnoDB;

从上面的例子可以看到,表名customers紧跟在CREATE TABLE关键字之后。实际的表定义(所有列)括在圆括号之中,各列之间用逗号分隔。每列的定义以列名开始,后面跟列的数据类型。表的主键可以再创建表时用PRIMARY KEY关键字指定。
注意:在创建新表时,指定的表名必须不存在,否则将出错。

2、使用NULL值
NULL值就是没有值或缺值。允许NULL值的列也允许在插入行时不给出该列的值。

3、主键
如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合值必须唯一。

CREATE TABLE orderitems
(
	order_num		int				NOT NULL,
	order_item		int				NOT NULL,
	prod_id			char(10)		NOT NULL,
	quantity		int				NOT NULL,
	item_price		decimal(8,2)	NOT NULL,
	PRIMARY KEY (order_num,order_item)
) ENGINE = InnoDB;

主键只能使用不允许NULL值的列。

4、使用AUTO_INCREMENT

cust_id		int		NOT NULL AUTO_INCREMENT,

AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量。

5、指定默认值

CREATE TABLE orderitems
(
	order_num		int				NOT NULL,
	order_item		int				NOT NULL,
	prod_id			char(10)		NOT NULL,
	quantity		int				NOT NULL DEFAULT 1,
	item_price		decimal(8,2)	NOT NULL,
	PRIMARY KEY (order_num,order_item)
) ENGINE = InnoDB;

quantity列包含订单中每项物品的数量,给该列的描述添加了DEFAULT 1指示MySQL,在未给出数量的情况下使用数量1。

更新表

下面的例子给表添加一个列:

ALTER TABLE vendors
ADD vend_phone CHAR(20);

这条语句给vendors表增加一个名为vend_phone的列,必须明确其数据类型。
删除刚刚添加的列,可以这样做:

ALTER TABLE vendors
DROP COLUMN vend_phone;

删除表

DROP TABLE customers2;

重命名表

RENAME TABLE customers2 TO customers;

还可以使用下面的语句对多个表重命名:

RENAME TABLE	backup_customers TO customers,
				backup_vendors TO vendors,
				backup_products TO products;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值