MySQL创建表和主键约束

1.创建表

在操作数据表之前,应该使用"USE 数据库名"指定操作是在哪个数据库中进行

主键约束(唯一标识)
****非空***
****唯一***
****被引用****(学习外键时)

约束是添加在列上的,用来约束列的!

主键约束,用于唯一标识对应的记录。在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现,就好比身份证可以用来标识人的身份一样。

每个数据表中最多只能有一个主键约束。

 在Navicat中按键F6也可以进入命令行

2. 主键自增长

* 因为主键列的特性是:必须唯一、不能为空,所以我们通常会指定主键类为整型,然后设置其自动增长,这样可以保证在插入数据时主键列的唯一和非空特性
* 创建表时指定主键自增长

CREATE TABLE stu(
  sid INT PRIMARY KEY AUTO_INCREMENT,
  sname VARCHAR(20),
  age INT,
  gender VARCHAR(10)
);
* 修改表时设置主键自增长:ALTER TABLE stu CHANGE sid  INT AUTO_INCREMENT;
* 修改表时删除主键自增长:ALTER TABLE stu CHANGE sid INT;
* 测试主键自增长:
> INSERT INTO stu VALUES(NULL, 'zhangSan',23,'male');
> INSERT INTO stu(sname,age,gender) VALUES('zhangSan',23,'male');

CREATE TABLE stu (
    id int primary key ,
    name varchar(20)
);

-- 添加自动增长
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;
SELECT *  FROM stu;
INSERT INTO stu VALUES(1, 'AAA');
INSERT INTO stu VALUES(2, 'BBB');
INSERT INTO stu VALUES(NULL, 'CCC');
INSERT INTO stu VALUES(10, 'CCC');
INSERT INTO stu VALUES(NULL, 'CCC');

注意:自动增长的时候,只跟上一条记录有关系,会读取上一条记录的id,再在下一条记录加1。可以手动设置自增长的那个列的值

 删除自动增长:ALTER TABLE stu MODIFY id INT;

3.用Navicat建表

 

posted @ 2016-11-05 20:59  GumpYan  阅读(1747)  评论(0编辑  收藏  举报