数据表的操作
创建数据表
普通表创建
基本语法:create table 表名(字段名 字段类型 (字段属性)],字段名 字段类型 [字段属性] ...);
[表选项]
-- 创建数据表
create table class(
-- 字段名 字段类型
-- 字段与表其实是分不开的(表是由单个的字段构成所以字段和表是一体的)
name varchar(10) -- 表示的10个字符字段(不能超过这个定义的数量)
)
以上错误说明:表必须是放到对应数据库下:
两种方式可以将表挂入到指定的数据库下
1、在数据表名字前面加上数据库名字 ,用“.”(即用电来连接)连接即可:
数据库.数据表
查看已有数据库
-- 将数据表挂到数据库下
create table mydatabase2.class(
name varchar(10) -- 字段名 字段类型 (字段属性)
);
2、在创建数据表之前,先进入到某个具体的数据库即可:
use 数据库名字;
-- 进入数据库,再创建表
use mydatabase2;
create table teacher(
name varchar(10)
);
表选项:与数据库选项类似
engine:存储引擎,MySQL提供的具体存储数据的方式,默认有一个innodb(5.5以前默认是myisam)
charset:字符集,只对当前自己表有效(级别要比数据库的高)
collate :校对集,(只对自己有效)
-- 使用表选项
create table student(
name varchar(10)
)charset utf8;
复制已有表结构
从已经存在的表复制一份(只复制结构:如果表当中有数据,其中的数据是不会复制的)
基本语法:
create table 新表名 like 表名;
//只要使用数据库.表名,就可以在任何数据库下访问其它数据库的表名
-- 在test数据库下创建一个与teacher一样的表 相当于复制了表 (复制的只是其表结构)
use test;
create table teacher like mydatabase2.teacher;
作用:数据库的迁移和备份
显示数据表
每当一张数据表创建,那么就会在对应的数据库下创建一些文件(与表选项里面的存储引擎有关)
注意:这个结构文件来自于innodb存储引擎,innodb存储引擎所有的文件都存储在外部的ibdata文件当中。
显示所有表
基本语法:show tables;
-- 查看所有表
show tables;
匹配显示表
基本语法:show tables like '匹配模式';
-- 查看匹配数据表
show tables like 'c%';-- 查看以c开头的所有表
显示表结构
显示表结构的本质含义:显示表中所包含的字段信息(名字,类型,属性等)
以下都是用来显示表结构的
语法:
Describle 表名
Desc 表名 ---》描述 这个表的信息
show columns from 表名 ---》显示这个表的所有列
代码
-- 显示表结构
describe class;
desc teacher;
show columns from student;
显示表的创建语句
查看数据表创建时的语句:此语句看到的结果已经不是用户自己输入的。
基本语法:show create 表名
-- 查看表创建语句
show create table student;
MySql当中有多种结束语句符
;与 \g 表示的效果是一样的,都是字段在上排横着,下面跟对应的数据
\G 字段在左侧 树着,数据在右侧横着
-- 比如还是查看创建语句
show create table student\G