数据库 -- mysql表操作
前端之家收集整理的这篇文章主要介绍了
数据库 -- mysql表操作,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一,存储引擎介绍
存储引擎即表类型,MysqL根据不同的表类型会有不同的处理机制
详见:
二,表介绍
表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段
id,name,qq,age称为字段,其余的,一行内容称为一条记录
三,创建表
注意:
<span style="color: #800000; font-weight: bold;">1<span style="color: #000000;">. 在同一张表中,字段名是不能相同
<span style="color: #800000; font-weight: bold;">2<span style="color: #000000;">. 宽度和约束条件可选
<span style="color: #800000; font-weight: bold;">3. 字段名和类型是必须的
MariaDB
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">(none)<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">use<span style="color: #000000;"> db1;
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">create <span style="color: #0000ff;">table<span style="color: #000000;"> t1(
<span style="color: #808080;">-> id <span style="color: #0000ff;">int<span style="color: #000000;">,<span style="color: #808080;">-> name <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">50<span style="color: #000000;">),<span style="color: #808080;">-> sex enum(<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">'<span style="color: #000000;">),<span style="color: #808080;">-> age <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">)
<span style="color: #808080;">-><span style="color: #000000;"> );
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">><span style="color: #000000;"> show tables; #查看db1库下所有表名
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">desc<span style="color: #000000;"> t1;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">-----+-----------------------+------+-----+---------+-------+
<span style="color: #808080;">| Field <span style="color: #808080;">| Type <span style="color: #808080;">| <span style="color: #0000ff;">Null <span style="color: #808080;">| <span style="color: #0000ff;">Key <span style="color: #808080;">| <span style="color: #0000ff;">Default <span style="color: #808080;">| Extra <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">-----+-----------------------+------+-----+---------+-------+
<span style="color: #808080;">| id <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| name <span style="color: #808080;">| <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">50) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| sex <span style="color: #808080;">| enum(<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">') <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| age <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">-----+-----------------------+------+-----+---------+-------+
<span style="color: #000000;">
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">select id,name,sex,age <span style="color: #0000ff;">from<span style="color: #000000;"> t1;
Empty <span style="color: #0000ff;">set (<span style="color: #800000; font-weight: bold;">0.00<span style="color: #000000;"> sec)
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">select <span style="color: #808080;">* <span style="color: #0000ff;">from<span style="color: #000000;"> t1;
Empty <span style="color: #0000ff;">set (<span style="color: #800000; font-weight: bold;">0.00<span style="color: #000000;"> sec)
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">select id,name <span style="color: #0000ff;">from<span style="color: #000000;"> t1;
Empty <span style="color: #0000ff;">set (<span style="color: #800000; font-weight: bold;">0.00 sec)
MariaDB t1
(,,, (,,,
id name age sex
egon male
alex female
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">insert <span style="color: #0000ff;">into t1(id) <span style="color: #0000ff;">values
<span style="color: #808080;">-> (<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">),<span style="color: #808080;">-> (<span style="color: #800000; font-weight: bold;">4<span style="color: #000000;">);
MariaDB <span style="color: #ff0000;">[<span style="color: #ff0000;">db1<span style="color: #ff0000;">]<span style="color: #808080;">> <span style="color: #0000ff;">select <span style="color: #808080;">* <span style="color: #0000ff;">from<span style="color: #000000;"> t1;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">----+------+------+--------+
<span style="color: #808080;">| id <span style="color: #808080;">| name <span style="color: #808080;">| age <span style="color: #808080;">| sex <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">----+------+------+--------+
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1 <span style="color: #808080;">| egon <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| male <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">| alex <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">81 <span style="color: #808080;">| female <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">3 <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">4 <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">----+------+------+--------+
修改表名
<span style="color: #800000; font-weight: bold;">2<span style="color: #000000;">. 增加字段
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
<span style="color: #0000ff;">ADD 字段名 数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;">,<span style="color: #0000ff;">ADD 字段名 数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;">;
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
<span style="color: #0000ff;">ADD 字段名 数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;"> FIRST;
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
<span style="color: #0000ff;">ADD 字段名 数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;"> AFTER 字段名;
<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">. 删除字段
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
<span style="color: #0000ff;">DROP<span style="color: #000000;"> 字段名;
<span style="color: #800000; font-weight: bold;">4<span style="color: #000000;">. 修改字段
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
MODIFY 字段名 数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;">;
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
CHANGE 旧字段名 新字段名 旧数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">]<span style="color: #000000;">;
<span style="color: #0000ff;">ALTER <span style="color: #0000ff;">TABLE<span style="color: #000000;"> 表名
CHANGE 旧字段名 新字段名 新数据类型 <span style="color: #ff0000;">[<span style="color: #ff0000;">完整性约束条件…<span style="color: #ff0000;">];
修改存储引擎
MysqL engine<span style="color: #800000; font-weight: bold;">2<span style="color: #000000;">. 添加字段
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> <span style="color: #0000ff;">add name <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">20) <span style="color: #808080;">not <span style="color: #0000ff;">null<span style="color: #000000;">,<span style="color: #808080;">-> <span style="color: #0000ff;">add age <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3) <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">default <span style="color: #800000; font-weight: bold;">22<span style="color: #000000;">;
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> <span style="color: #0000ff;">add stu_num <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">10) <span style="color: #808080;">not <span style="color: #0000ff;">null after name; <span style="color: #808080;">//<span style="color: #000000;">添加name字段之后
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> <span style="color: #0000ff;">add sex enum(<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">') <span style="color: #0000ff;">default <span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">' first; <span style="color: #808080;">//<span style="color: #000000;">添加到最前面
<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">. 删除字段
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> <span style="color: #0000ff;">drop<span style="color: #000000;"> sex;
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> service
<span style="color: #808080;">-> <span style="color: #0000ff;">drop<span style="color: #000000;"> mac;
<span style="color: #800000; font-weight: bold;">4<span style="color: #000000;">. 修改字段类型modify
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> modify age <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">);
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> modify id <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">primary <span style="color: #0000ff;">key auto_increment; <span style="color: #808080;">//<span style="color: #000000;">修改为主键
<span style="color: #800000; font-weight: bold;">5<span style="color: #000000;">. 增加约束(针对已有的主键增加auto_increment)
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table student10 modify id <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">primary <span style="color: #0000ff;">key<span style="color: #000000;"> auto_increment;
ERROR <span style="color: #800000; font-weight: bold;">1068 (<span style="color: #800000; font-weight: bold;">42000): Multiple <span style="color: #0000ff;">primary <span style="color: #0000ff;">key<span style="color: #000000;"> defined
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table student10 modify id <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">not <span style="color: #0000ff;">null<span style="color: #000000;"> auto_increment;
Query OK,<span style="color: #800000; font-weight: bold;">0 rows affected (<span style="color: #800000; font-weight: bold;">0.01<span style="color: #000000;"> sec)
Records: <span style="color: #800000; font-weight: bold;">0 Duplicates: <span style="color: #800000; font-weight: bold;">0 Warnings: <span style="color: #800000; font-weight: bold;">0
<span style="color: #800000; font-weight: bold;">6<span style="color: #000000;">. 对已经存在的表增加复合主键
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> service2
<span style="color: #808080;">-> <span style="color: #0000ff;">add <span style="color: #0000ff;">primary <span style="color: #0000ff;">key<span style="color: #000000;">(host_ip,port);
<span style="color: #800000; font-weight: bold;">7<span style="color: #000000;">. 增加主键
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student1
<span style="color: #808080;">-> modify name <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">10) <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">primary <span style="color: #0000ff;">key<span style="color: #000000;">;
<span style="color: #800000; font-weight: bold;">8<span style="color: #000000;">. 增加主键和自动增长
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student1
<span style="color: #808080;">-> modify id <span style="color: #0000ff;">int <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">primary <span style="color: #0000ff;">key<span style="color: #000000;"> auto_increment;
<span style="color: #800000; font-weight: bold;">9<span style="color: #000000;">. 删除主键
a. 删除自增约束
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table student10 modify id <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">not <span style="color: #0000ff;">null<span style="color: #000000;">;
b. 删除主键
MysqL<span style="color: #808080;">> <span style="color: #0000ff;">alter <span style="color: #0000ff;">table<span style="color: #000000;"> student10
<span style="color: #808080;">-> <span style="color: #0000ff;">drop <span style="color: #0000ff;">primary <span style="color: #0000ff;">key;