文章目录
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语句时,该引擎具体创建表