创建和操纵表——create&alter&drop&rename

1. 创建表

表创建的方法一般有两种:
1、使用具有交互式创建和管理表的工具;
2、表也可以直接用MySQL语句操纵。

1.1 表创建基础

在这里插入图片描述

表名紧跟在create table关键字后面。实际的表定义(所有列)括在圆括号之中。各列之间用逗号分隔。这个表由9列组成。每列的定义以列名(它在表中必须是唯一的)开始,后跟列的数据类型。表的主键可以在创建表时用primary key关键字指定。整条语句由右圆括号后的分号结束。


1.2 使用NULL值

允许NULL值的列也允许在插入行时不给出该列的值。不允许NULL值的列不接受该列没有值的行。

每个表列的NULL或NOT NULL状态在创建时由表的定义规定。

在这里插入图片描述
NULL为默认设置,如果不指定NOT NULL,则认为指定的是NULL。

不要把NULL值与空串相混淆。NULL值是没有值,它不是空串。如果指定’’(两个单引号,其间没有字符),这在NOT NULL列中是允许的。空串是一个有效的值,它不是无值。NULL值用关键字NULL而不是空串指定。


1.3 主键再介绍

主键值必须唯一,主键可用单个列,也可用多个列,但是值必须唯一。并且主键中只能使用不允许NULL值的列。
主键值的语句定义:primary key(vend_id)

在这里插入图片描述
主键可以在创建表时定义,或者在创建表之后定义。


1.4 使用auto_increment

auto_increment告诉MySQL,本列每当增加一行时自动增量。每次执行一个insert操作时,MySQL自动对该列增量(从而才有这个关键字auto_increment),给该列赋予下一个可用的值。
每个表只允许一个auto_increment列,而且它必须被索引(如,通过使它成为主键)。

在这里插入图片描述

auto_increment可以被覆盖:只要在insert语句中指定一个值,只要它是唯一的(至今尚未使用过)即可,该值将被用来替代自动生成的值。后续的增量将开始使用该手工插入的值。

如何在使用auto_increment列时获得这个值呢?可使用last_insert_id()函数获得这个值:select last_insert_id(),此语句返回最后一个auto_increment值,然后可以将它用于后续的MySQL语句。


1.5 指定默认值

如果在插入行时没有给出值,MySQL允许指定此时使用的默认值。默认值用create table语句的列定义中的default关键字指定。

在这里插入图片描述
MySQL不允许使用函数作为默认值,它只支持常量。


1.6 引擎类型

与其他DBMS一样,MySQL有一个具体管理和处理数据的内部引擎。在你使用create table语句时,该引擎具体创建表࿰

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值