MYSQL数据库(七)-数据表的插入、删除
来源:互联网 发布:lrc编辑器 mac 编辑:程序博客网 时间:2024/05/16 07:12
本章目录
一、单列插入,位置默认列底
二、单列插入,位于某列之后
三、单列插入,位于列顶端
四、多列插入,不能指定位置,只能位于列底
五、删除列、删除并且添加(单行和多行同上,列之间逗号隔开)
本章语句
- alter table tbl_name add[column] col_name column_definition[first|after col_name] 数据表删除或增加语句
- 解释:更改 表格 某某,添加 ,某某列名 ,列定义,【顶部|某某之后】
数据表的修改操作案例:
一、创建一个数据表city1,并添加了约束
mysql> create table city1( -> id smallint unsigned primary key auto_increment, -> usename varchar(20) not null, -> pid smallint unsigned, -> foreign key(pid) references sheng(id) on delete cascade)//查看表结构:mysql> show columns from city1+---------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+---------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | |+---------+----------------------+------+-----+---------+----------------+
一、单列插入
语句:alter table city1 add age tinyint UNSIGNED NOT NULL DEFAULT 10;
解释:更改 表格 city1, 添加参数age ,类型:tinyint ,无符号,非空,默认值10
//更改表格city1,添加age列,类型:tinyint ,无符号类,非空,默认值:10mysql> alter table city1 add age tinyint UNSIGNED NOT NULL DEFAULT 10;Query OK, 2 rows affected (0.53 sec)//插入成功//查看插入结果,会发现我们数据表中增加了一列,默认值为10.mysql> SHOW COLUMNS FROM CITY1;//不指定位置默认放在列末尾//插入前不存在age列+---------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+---------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | |+---------+----------------------+------+-----+---------+----------------+//插入后存在age列,插入成功+---------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+---------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+---------+----------------------+------+-----+---------+----------------+
二、单列插入,位于某列之后
语句:alter table city1 add password varchar(10) NOT NULL AFTER usename;
解释:更改 表格 city1 添加参数password 字符类型 位置位于usename后
注意:这里我们指定了某列之后:AFTER usename,就是位置位于usename下方
mysql> alter table city1 add password varchar(10) NOT NULL AFTER usename;Query OK, 2 rows affected (0.32 sec)//插入成功mysql> show columns from city1//插入前,查看city1表的结构不存在password列+---------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+---------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+---------+----------------------+------+-----+---------+----------------+//插入后,查看city1表的结构,我们插入的password列位于usename 之后+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+----------+----------------------+------+-----+---------+----------------+
三、单列插入,位于列顶端
语句:alter table city1 add tname varchar(22) NOT NULL FIRST;
解释:更改 表格 city1 添加参数tname 字符类型 不能为空 位于顶部
mysql> alter table city1 add tname varchar(22) NOT NULL FIRST;Query OK, 2 rows affected (0.25 sec)//插入成功过mysql> SHOW COLUMNS FROM CITY1;//查看city1表的结构,我们插入的tname列位于列的顶端//插入前,查询列表,暂无tname列+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+----------+----------------------+------+-----+---------+----------------+//插入后,查询列表,tname列位于列表的顶端+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+----------+----------------------+------+-----+---------+----------------+6 rows in set (0.01 sec)
四、多列插入,不能指定位置,只能位于列底
语句:alter table t_name add[column](col_name column_definition,……)
解释:更改 表格 某某 添加 【列】 (某列,某列,……)
mysql> alter table city1 add ( -> ttt varchar(20) NOT NULL, -> uuu varchar(20) NOT NULL);Query OK, 2 rows affected (0.33 sec)//添加成功mysql> show columns from city1;//添加的两列ttt和uuu位于列的最下方//插入前+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | |+----------+----------------------+------+-----+---------+----------------+//插入后,ttt和uuu两列插入成功+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | || ttt | varchar(20) | NO | | NULL | || uuu | varchar(20) | NO | | NULL | |+----------+----------------------+------+-----+---------+----------------+8 rows in set (0.01 sec)
五、删除列、删除并且添加(单行和多行同上,列之间逗号隔开)
语句:alter table tal_name drop [column] col_name
解释:更改 表格 表名册 删除 【列】 列名册
1、单行删除
//单列删除age,删除成功mysql> alter table city1 drop age; //翻译:更改表格city1 删除age列mysql> show columns from city1;//查看city1表结构//删除前,age列存在+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || age | tinyint(3) unsigned | NO | | 10 | || ttt | varchar(20) | NO | | NULL | || uuu | varchar(20) | NO | | NULL | |+----------+----------------------+------+-----+---------+----------------+//删除后,age删除成功+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || ttt | varchar(20) | NO | | NULL | || uuu | varchar(20) | NO | | NULL | |+----------+----------------------+------+-----+---------+----------------+
2、多列删除
2、多列删除,同时删除ttt和uuu列,(注意多行删除,删除列需要用逗号隔开,如:drop ttt,drop uuu)//更改表格city1,删除ttt,uuu两列mysql> alter table city1 drop ttt,drop uuu;mysql> show columns from city1;//查看//删除前+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || ttt | varchar(20) | NO | | NULL | || uuu | varchar(20) | NO | | NULL | |+----------+----------------------+------+-----+---------+----------------+//删除后+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | |+----------+----------------------+------+-----+---------+----------------+
3、删除和添加并用
//更改表格city1,删除tname列,添加vvv列mysql> alter table city1 drop tname,add vvv varchar(21) NOT NULL;Query OK, 2 rows affected (0.27 sec)mysql> show columns from city1;//查看效果//删除前+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| tname | varchar(22) | NO | | NULL | || id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | |+----------+----------------------+------+-----+---------+----------------+//删除后tname列消失,最下面出现vvv列+----------+----------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+----------------------+------+-----+---------+----------------+| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment || usename | varchar(20) | NO | | NULL | || password | varchar(10) | NO | | NULL | || pid | smallint(5) unsigned | YES | MUL | NULL | || vvv | varchar(21) | NO | | NULL | |+----------+----------------------+------+-----+---------+----------------+5 rows in set (0.01 sec)
阅读全文
0 0
- MYSQL数据库(七)-数据表的插入、删除
- mysql将数据表插入到另一个数据库的表
- MySQL数据库二(数据表创建以及插入数据)
- mysql 从一个数据库数据表插入到另一个数据库数据表
- MySql---数据库和数据表的创建、修改及删除
- MySQL数据库学习04-数据表的基本操作:删除
- MySQL —— 数据库,数据表的创建,修改,删除
- MySql插入删除引发的数据库死锁
- MySQL—创建数据库、数据表,删除数据库、数据表
- mysql数据库删除数据库以及从数据库中拷贝数据表的方法
- mysql数据表中插入数据的方法
- mysql(七)修改数据表
- Mysql数据库学习 (六) Mysql 插入删除更新
- MySQL--数据表插入记录
- mysql数据库的插入(insert)和删除(delete)操作
- mysql 找回被删除的数据表
- mysql批量删除指定后缀名的数据表
- 一次误删除mysql数据表的历险记
- 互联网开发人员需知的“108”个技术栈
- CF—Hot Bath
- JAVA zip压缩
- hdu2795 Billboard 线段树维护最值
- java之观察者模式实例讲解
- MYSQL数据库(七)-数据表的插入、删除
- 数据结构之链表
- 使用Jmeter进行http接口测试
- UE4中蓝图实现小地图——雷达图篇
- vim编辑器设置高亮
- redis 设置密码
- Swift中的ARC(Automatic Reference Counting)
- Struts2 S2 – 032远程代码执行漏洞分析报告 .
- 一个可安全挂起,恢复的线程