MySQL学习笔记之对表的创建、删除、修改。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL学习笔记之对表的创建、删除、修改。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4835字,纯文字阅读大概需要7分钟。
内容图文
![MySQL学习笔记之对表的创建、删除、修改。](/upload/InfoBanner/zyjiaocheng/904/f47a5a4683b44a8bb53ea6e81fdb7ef6.jpg)
文章目录
在MySQL数据库中,表是组成数据库的基本元素,主要用来实现存储数据记录。我们平常对表的基本操作主要是创建,修改,删除。对表里的数据进行增,删,改,查等基本操作。今天我学习了一下对表的创建、修改、删除等基础操作。如下:
准备工作
在学习本文章时,确保你的电脑中已经成功安装了 MySQL 。首先以管理员身份打开命令提示符,输入net start mysql
启动MySQL服务,然后输入mysql -u root -p
回车,然后输入密码,进入mysql。
创建一个 school 数据库,并选择 school 数据库。下面对表的操作都在这个数据库(school)中进行。
创建表
这里所说的表和我们在日常中使用的电子表格的组织形式是类似的,通过行和列来组织。在表中每一行表示一条记录;每一列称为属性列,和我们电子表格中的表头相似,属性列的名字和数据类型,是我们在创建表时指定的。下面看一下创建表时的基础语法:
create table table_name(
属性名 数据类型,
...
属性名 数据类型
);
table_name
是我们要创建表格的名字,属性名 数据类型
指定列的名字和数据类型,每列之间使用 ,
分隔。下面我们在 school 数据库中创建一个 student
表。通过 show tables;
显示 school 数据库中表。
create table student(
id int,
name varchar(20),
sex varchar(4),
age smallint
);
已经成功在数据库中创建了表,但是表中所存储的数据是否合法并没有进行检查,MySQL数据库管理系统给我们提供了一种机制来检查数据库表中的数据,以保证数据库中数据的完整性(准确性和一致性),这种机制就是 约束 。MySQL中几个常用的完整性约束,如下:
- not null:约束列的值不能为空。
- default:为列设置默认值。
- auto_increment:设置列的值为自动增加。
- unique key:约束列的值是唯一。
- primary key:设置列为表的主键,作为表记录的唯一标识。
- foreign key:设置列为表的外键。
演示一下在创建表时,如何添加上面的几种约束,修改一下刚才创建 student 表的代码,为了演示主外键我们添加了一个 tab_class
表,让tab_class
表的主键作为 student
表的外键(由于我们刚才创建了student
表,同一个数据库中表不能重名,可以翻到下面找到删除表,把刚才创建的表删除,再进行下面操作)。代码如下:
create table tab_class(
class_id int primary key,
name varchar(20) not null
);
create table student(
id int primary key auto_increment,
name varchar(20) not null,
sex varchar(4) default 'Man',
class_id int,
age smallint,
constraint fk_tab_class foreign key (class_id)
references tab_class (class_id)
);
通过describe table_name
来查看刚创建表的结构。
注意:
- 不能单独使用自增约束(auto_increment),会报错。
自增约束修饰的列必须定义为键,可以是unique key
也可以是primary key
,如上面。 - 主键也可以是多个列组合。语法形式和设置外键差不多,如下:
constraint pk_id_name primary key (id, name)
其中pk_id_name
是为主键起的名字,id
和name
是student
表中的两个列的名字。
修改表
修改表名
为了使表名能够见名知意,通常把表名以t_
或tab_
开头,下面我们把student
表的名字修改为tab_student
。其基础语法alter table old_name rename new_name;
代码如下:
alter table student rename tab_student;
增加列
在表中添加一列需要指定添加列的列名和数据类型,其基础语法是alter table table_name add 列名 数据类型
。也可以指定在表中添加列的位置,默认是添加到表中的最后一个位置,可以设置成在表中第一个位置添加列alter table table_name add 列名 数据类型 first
,也可以添加到指定列的后面 alter table table_name add 列名 数据类型 after 指定列的名字
。下面在tab_student
表中演示这三种添加方式:
alter table tab_student add test1 int;
alter table tab_student add test2 int first;
alter table tab_student add test3 int after name;
也可以一次添加多列,添加多列就不能指定列的位置了,语法形式alter table table_name add (列名 数据类型,....,列名 数据类型);
代码:
alter table tab_student add (
test1 int,
test2 int,
test3 int
);
修改列名和列的数据类型
对列的修改,可以单独修改列名或列的数据类型,也可以同时修改列名和对应的数据类型。它们对应的基础语法分别是:alter table table_name modify 列名 数据类型
,alter table table_name change 旧列名 新列名 旧数据类型
和 alter table table_name change 旧列名 新列名 新数据类型
。下面开始对上面刚添加的三列进行修改,代码如下:
# 修改列的数据类型 #
alter table tab_student modify test1 varchar(20);
# 修改列的列名 #
alter table tab_student change test2 test_2 int;
# 修改列的名字和数据类型 #
alter table tab_student change test3 test_3 varchar(10);
删除列
对添加到表中列,可以进行删除,其语法是alter table table_name drop 列名;
代码如下:
alter table tab_student drop test1;
同样也可以像添加一样,进行多列删除操作。其语法形式:alter table table_name drop 列名, drop 列名,... ,drop 列名
代码如下:
alter table tab_student drop test_2 , drop test_3;
删除表
对表基础操作使用学习完毕,可以把tab_student
表删除掉了,其语法:drop table table_name;
,代码如下:
drop table tab_student;
注意: 我们在school
数据库中创建了两张表tab_class
和tab_student
,它们通过主外键建立了约束,所以在删除时是有顺序的,需要先删除tab_student
表,再删除tab_class
表;如果一上来就删除 tab_class
表是会报错。如下:
小结
今天学习了MySQL数据库中对表的一系列操作,很充实,继续加油。值得注意的是上面操作的表里没有数据,如果表中有数据,我们对表的操作可能麻烦一些,我还没有研究,等我研究了再和大家交流。好了,退出数据库,关闭服务,结束这一段的学习。
内容总结
以上是互联网集市为您收集整理的MySQL学习笔记之对表的创建、删除、修改。全部内容,希望文章能够帮你解决MySQL学习笔记之对表的创建、删除、修改。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。