软件测试学习 之 MySQL 表结构操作

创建 / 删除表

drop table if EXISTS course;
create table course
(
    cid TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(10)
)

或者

create table course
(
    cid TINYINT UNSIGNED NOT NULL auto_increment,
  name VARCHAR(10),
    PRIMARY KEY(cid)
);


mysql常用五类约束类型

        not null:非空约束,指定某列不为空

        unique: 唯一约束,指定某列和几列组合的数据不能重复

        primary key:主键约束,指定某列的数据不能重复、唯一

        foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据

        check:检查,指定一个表达式,用于检验指定数据

    注: MySQL不支持check约束,但可以使用check约束,而没有任何效果;

【问题记录】

删除自增列主键时,MySQL错误:

Incorrect table definition;there can be only one auto column and it must be defined as a key

(只能存在有一个自增列,必须将其定义为主键)

解决方法:去除主键之前,先除去自增列属性

ALTER TABLE student MODIFY column sid int unsigned not null;

ALTER TABLE student drop PRIMARY KEY; 

ALTER TABLE student add PRIMARY KEY(sid);

重命名表

重命名表使用关键字RENAME TABLE

RENAME TABLE table_name_1 TO table_name_2;

更新表

使用 ALTER TABLE 语句

1.增加列   add / add column(column 可写可不写,下同)

alter table 表名 add 列名 类型[(长度) 约束条件];

给指定位置加列需要两个关键字: first after 

ALTER table user add PASSWORD varchar(8);

或者

ALTER table user add column PASSWORD varchar(8);

在test表a列后面增加一列c:

ALTER TABLE test ADD COLUMN c INT NOT NULL AFTER a

在test表的第一列增加字段id:

ALTER TABLE test ADD COLUMN id INT UNSIGNED NOT NULL auto_increment PRIMARY KEY FIRST

2.修改列类型 modify / modify column

alter table 表名 modify 列名 类型[(长度) 约束条件];

ALTER TABLE student MODIFY column sid int unsigned not null AUTO_INCREMENT;

3.修改现有列名称 change / change column

alter table表名 change 旧列名 新列名 类型[(长度) 约束条件];

ALTER TABLE student CHANGE column id sid int;

4.删除现有列  drop / drop column

alter table 表名 drop 列名;

ALTER table `user` DROP column `password`

 

猜你喜欢

转载自blog.csdn.net/jian3x/article/details/88197915