欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(3)表的增删改查

程序员文章站 2022-03-04 19:17:40
...

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

create table php_1.php_class(

   class_no varchar(20),date_start date
);

注意以下图片中的操作,都是选定的php_1这个数据库的,所以不用指定数据库了。指定数据库的方法:use php_1
(3)表的增删改查

二、查看表

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

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

创建和查询涉及到了两个系统,所以对其逻辑结构如下展示,以便方便查看代码
(3)表的增删改查

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

三、删除表

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

(3)表的增删改查

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

四、修改表

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

例子:交换两个表的名称
(3)表的增删改查

②修改列定义
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;

相关标签: 数据库 数据