视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Mysql基础篇之表的操作
2020-11-09 15:57:24 责编:小采
文档


建立表如下: create table User(id int primary key auto_increment,name varchar(10),sex boolean,age int(3)); auto_increment是mysql的特色语句,该属性自动增加,每个都不一样,比较适合作为主键(当然不是必须的)。 多字段主键的代码如下: create ta

建立表如下:

create table User(
id int primary key auto_increment,
name varchar(10),
sex boolean,
age int(3));
auto_increment是mysql的特色语句,该属性值自动增加,每个都不一样,比较适合作为主键(当然不是必须的)。

多字段主键的代码如下:

create table Student(
stu_id int,
course_id int,
age int,
primary key(stu_id,course_id));
设置外键代码:
create table Worker(
stu_id int,
Post varchar(33),
Department varchar(33),
constraint ctr foreign key(stu_id) references Student(stu_id));
对于这个情况外键是单字段,其实可以不用constraint设置一个别名 ctr的,对于多字段的外键约束可以用这样的方法在括号里面多加几个属性用逗号隔开,而用一个别名ctr表示,删除起来比较容易。而如果不用constraint设置 别名,系统也会自动初始化别名,通过show create table Worker;(后面可以加个 \G 使得结果好看一点)命令可以查看到系统生成的别名。

约束除了主键,外键,自动增加,还有not null,unique,default。位置跟主键是一样的。对于default使用方法这样:

number double default 0,

对于表结构查看
describe Worker;
desc Worker;
这两个是一样的。
对于表名和表属性的修改删除添加,都可以用alter命令搞定。
更改表名:
alter table Student rename pupil;
修改数据类型:
alter table Student modify course_id varchar(33);
修改字段名:
alter table Student change course_id course varchar(33);
新字段名类型可以不改,也可以改,但是不能没有,语法不允许。

增加字段:

alter table Student add phone int(12) after stu_id;
after可以不写,默认添加在最后一个字段的后面,也可以写first(只有一个first),加字段到开头。字段名可以添加约束,跟建表时的字段语法是一样的。

删除字段:

alter table Student drop phone;

如果字段是外键,需要在被删除属性名前加个 foreign key

修改字段位置:
alter table Student modify age int(11) first | after stu_id;
属性名每个都不能多也不能少。。。倒霉语法。不过仔细想想也是对的,要移动的字段带着类型可以知道移动范围,而在谁后面只需要找到位置就可以了(-_-反正得找个方法记下来)。
存储引擎也是可以用alter改的:
alter table Student engine=MyISAM;
删除表就很简单了
drop table Student;

添加索引

alter table Student add index(stu_id);

删除主键:

alter table Student drop primary key;
添加主键:
alter table Student add primary key (stu_id,age);

下载本文
显示全文
专题