表名的前缀:
两个student表,为了区分相同逻辑表名的不同应用,给逻辑表名,增加前缀
//学生管理
create table info_student (
name varchar(20),
stu_no varchar(20)
);
//在线考试
create table exam_student (
name varchar(20),
stu_no varchar(20),
score int
);
1.有哪些表?
show tables;
2.
show tables [like ‘pattern‘];
其中like pattern 部分,表示只获得那种规则的表名
show tables like ‘exam_%‘;//-----%表示任意字符的组合----称之为通配符
3.某一个表的创建信息
show create table exam_student;
也可以使用:
show create table exam_student\G (数据很多时候,这样显示容易看懂)
4.查看表的结构(描述表的结构)
describe exam_student;
也可以简写成如下:
desc info_student;
数据库对应着目录,显然数据库内容对应的就应该是目录的内容,文件。
我们追踪到磁盘上面的数据库文件如下:
这里的frm文件:存储的是列表结构
5.删除表格
drop table tbl_name;
如果表不存在,执行删除操作就会报错,有时候也可以这样操作可以避免这种报错:
drop table if exists democlass;(同时也适用drop database if exists db_name)
6.修改表
(1)修改表名
重命名:rename table old_tbl_name to new_tbl_name;
同时给多个表rename:
rename table info_student to infos, exam_class to classes;
上面我们可以先show tables 获取所有的tables,然后批量修改rename table info_student to infos, exam_class to classes,……;
支持跨数据库重命名:
从原来数据库php_one中的infos列表 存放到 demo数据库中的infos列表
我们进去看看demo数据中的内容:
上面支持跨数据库重命名,可以实现数据库重命名。
重新创建一个新的数据库,旧的数据库的表,都rename到新到数据库内,删除旧的数据库;
(2) 修改列定义
修改表结构,上面的子命令,上级是,alter table tbl_name [add|drop|change|modify]
add (增加一个新的列):
modify(修改一个列的定义):修改列的类型 和属性
drop(删除一个列):
change(重命名一个列):提供重命名的服务
(3)修改表选项
alter table tbl_name 新的表选项;