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

MySQL数据表操作

程序员文章站 2024-03-08 16:42:47
...

创建数据表

普通创建表

语法:create table 表名(字段名 字段类型 [字段属性],字段名 字段类型 [字段属性] ,...)[表选项] ;

create table class(
name varchar(10)
);

表必须放在指定数据库下,所以要用以下方案:

方案1、在数据表名字前面加上数据库名字,用“ . " 连接即可:数据库 . 数据表

create table mydatabase.class(
name varchar(10)
);

方案2、先进入到某个具体的数据库,再创建数据表(需要一起执行)

use mydatabase;
create table class(
name varchar(10)
);

 

表选项:与数据库选项类似

engine:存储引擎,MySQL提供的具体存储数据的方式,默认有一个innodb(5.5以前默认是myisam)

charset:字符集,只对当前自己表有效(级别比数据库高)

collate:校对集

表选项用法:

create table student(
name varchar(10)
)engine innodb charset utf8;

 

复制已有表结构

从已经存在的表复制一份(只复制结构:不复制表中数据)

基本语法:create table 新表名 like 表名;   //只要使用数据库.表名,就可以再任何数据库下访问其他数据库的表名。

use mydatabase2;
create table teacher like mydatabase.teacher;

 

显示数据表

每当一个数据表被创建,那么就会在对应的数据库下创建一个文件(文件数量与存储引擎有关)

MySQL数据表操作

这个结构文件来自于innodb存储引擎

MySQL数据表操作

显示所有表

语法: show tables;

匹配显示表

语法: show tables like'匹配模式'; (与数据库的匹配模式相同)

show tables like 'c%'

显示表结构

访问表中所包含的字段信息(名字、类型、属性等)

describe 表名

Desc 表名

show columns from 表名

MySQL数据表操作

 

显示表创建语句

查看数据表创建时的语句:此语句看到的结果已经不是用户之前自己输入的。

语法:show create table 表名;

MySQL数据表操作

MySQL中有多种语句结束符

;与\g:作用效果相同,字段在上侧,数据在下面;

\G :字段在左侧,数据在右侧;

show create table class\G

MySQL数据表操作

 

设置表属性

指的就是表选项:engine,charset,collate

基本语法:alter table 表名 表选项 值;

alter table class charset utf8;

MySQL数据表操作

注意:如果数据库已经确定,里面含有许多数据,不要轻易修改表选项。

 

修改表结构

修改表名: rename table 旧表名 to 新表名;

rename table student to my_student;

修改表选项:alter table 表名 表选项 值;

新增字段:alter table 表名 add [column]  新字段名 列类型 [列属性] [first / after字段名];

alter table my_student add column age int;

MySQL数据表操作

字段位置,字段想要存放的位置

       First:在某某之前(最前面),第一个字段

      after 字段名:放在某个具体的字段之后(默认)

alter table my_student add id int first;

修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置];(不会默认继承原字段类型,必须设置)

alter table my_student change age NJ int;

修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置];

alter table my_student modify name varchar(20);

删除字段:alter table 表名 drop 字段名

alter table my_student drop nj;

删除表结构:drop table 表名[,表名2,...];(可以同时删除多个数据表)

drop table class;