mysql 创建操作表_mysql-创建和操作表

一、建表

为了用程序创建表,我们可以使用SQL的create table 语句。如下:

每个列之间用逗号隔开,每列的定义以列名开始,后跟列的数据类型。

表的主键可以在创建表时用primary key关键字指定。

这张表使用InnoDB引擎创建。

eef180dbcf85fac84c134d4fd6f0d195.png

1、·使用null值:允许null值的列也允许在插入时不给出该列的值。不允许null值的列不接受该列没有值的行。在插入或更新行时,该列必须有值

·2、主键primary key:主键必须唯一,即表中的每个行必须具有唯一的主键值,如果主键使用单个列,则它的值必须唯一。如果使用多个列,则这些列的组合字必须唯一。

·3、使用AUTO_INCREMENT:它告诉MYSQL,本列每当增加一行时自动增量,每次执行一个insert操作时,mysql自动对该列增量,给该列赋予下一个可用的值。这样给每行分配一个唯一的id,从而可以用作主键值。每个表只允许一个AUTO_INCREMENT列,而且必须被索引。我们还可以使用如下语句获得最后一个auto_increment的值:

select last_insert_id();

此语句返回当最后操作某张表时,如果该张表有AUTO_INCREMENT类型字段当主键,它的最后一个Auto_increment的值,然后你可以将它用作后续的mysql语句。

·4、指定默认值:如果插入行时没有给出值,mysql允许指定此时使用的默认值,默认值用default关键字指定。如下:

a54341a982376a3047a9ff07d0f4f8b4.png

使用default,如果quantity没有插入值,默认为1;

5、引擎类型:mysql具备多个引擎,每种引擎具备不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。

在建表最后一般加上engine=xxx,如果不加的话,默认为MyISAM引擎。常用的有:

a、InnoDB:是一个可靠地事务处理引擎,但是它不支持全文检索。

b、MEMORY:在功能上等同于MyISAM,但是由于数据库在内存中,速度很快,适用于临时表

c、MyISAM:性能极高的引擎,支持全文搜索,不支持事务处理。

二、更新表

为了更新表定义,可以使用ALTER TABLE语句,但是当该表有数据后,最好就不要修改该表了。

1、增加列:alter table vendors add vend_phone char(20);

2、删除列:alter table vendors drop column vend_phone;

3、定义外键:

alter table orderitems add constraint fk_orderitems_orders foreign key(order_num) references orders(order_num);

三、删除表、重命名表

使用drop table语句

drop table customers2;

执行这条语句将永远删除该表

使用rename table 语句可以对表进行改名:

rename table customers2 to customers;

也可以使用如下对多个表进行更改:

rename table back_customers to customers,back_vendors to vendors, back_products to products;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值