(3)表的增删改查

数据库是容器,里面可以创建表,表必须属于哪个数据库
这样做的好处是:进行表操作时,都会指定当前的默认数据库
进入某个数据库中的操作:use database db_name
一、创建表
①语法:create table tb_name(列结构)[列选项]
列定义:列名 列的数据类型[列的属性(约束)] 不同列用","来连接,最后一个列后不用“,”
②简单的字符串类型:varchar(保留数据字符的长度)
日期类型:date
③因为表是依赖于数据库的,语法是: 数据库名.表名
先分析:需要保存的是实体数据,拥有哪些属性,这些属性应该如何保存
例如:班级的信息
班级班号,班级的开班时间

create table php_1.php_class(

   class_no varchar(20),date_start date
);

注意以下图片中的操作,都是选定的php_1这个数据库的,所以不用指定数据库了。指定数据库的方法:use php_1
这里写图片描述

二、查看表

①有哪些表:show tables[like ‘pattern’];
某个表的创建信息 ,like ‘pattern’表示只获取某种规则的表名
②查看某个表的创建信息:show create table tb_name;
氮素,在cmd中显示表格信息不容易观看,可以使用\G作为语句的结束符,而不是分号
③与数据库查看,特有的是:describe(或者desc) tb_name;查看表的数据结构
此图为②③演示
这里写图片描述

④表名前缀:只有一个数据库,为了区分相同的逻辑表名的不同应用,给逻辑表名加逻辑前缀
比如有学生管理系统和在线考试系统,学生管理系统中有学生表student,在线考试系统中也有学生表,因为是不同的项目,所以可能命名都相同了,但是表的列可能不同,为了区分是哪个项目的,应该写表名前缀info_student exam_student
由此也引起了问题,在线考试系统的项目,不应该看到学生管理系统的表,应该互不干扰
比如查看在线考试系统里的所有表: show tables like ‘exam_%’
%:为通配符,表示任意字符的任意个数的组合
数据库也有类似的操作。
这里写图片描述

创建和查询涉及到了两个系统,所以对其逻辑结构如下展示,以便方便查看代码
这里写图片描述

.frm保存的是表结构
数据库对应的是目录,数据库内容对应的是目录中的内容,文件

三、删除表

语法:drop table 表名
注意:若表不存在,则不能删除,会报错
只有在表存在的情况下,才能删除,所以更完整的语法格式:drop table[if exits] 表名
这样就不会报错了,即使表不存在。
下图:删除不存在的表,其实可以类比数据库

这里写图片描述

适用于数据库语法:drop database 数据库名
drop database if exists 数据库名

四、修改表

①修改表名(重命名)
语法:rename table oldtb_name to newtb_name;(同一数据库内)
支持同时修改多个表。
支持,跨数据库重命名:这个重命名相当于剪切,原来的数据库中删除了此表,另一个数据库中出现重命名的表
语法:rename table oldtb_name to 数据库名.newtb_name;

例子:交换两个表的名称
这里写图片描述

②修改列定义
1)增加一个新的列定义:add 列名 数据类型;
alter table exam_stu add examTime varchar(20);

2)删除一个列:drop 列名;
alter table exam_stu drop examTime;

3)修改一个列定义:modify 列名 数据类型;(就是列名不变,但是数据类型改变)
alter table exam_stu change stu_no stuid varchar(30);

4)重命名一个列定义:change 旧列名 新列名 数据类型;
(列明都改变了,数据类型,即使不变,也要重新写)
alter table exam_stu modify score varchar(10);

③修改表选项:alter table exam_stu character set utf-8;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值