MYSQL数据库(七)-数据表的插入、删除

本章目录

一、单列插入,位置默认列底

二、单列插入,位于某列之后

三、单列插入,位于列顶端

四、多列插入,不能指定位置,只能位于列底

五、删除列、删除并且添加(单行和多行同上,列之间逗号隔开)


本章语句

  • 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 ,无符号类,非空,默认值:10
mysql> 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL数据库的数据插入、修改、删除操作是数据库管理中非常基础的操作,以下是对这些操作的简要介绍: 1. 数据插入操作:使用INSERT INTO语句可以向MySQL数据库插入新的数据。语法如下: INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); 其中,table_name是要插入数据的名,column1、column2、column3等是要插入数据的列名,value1、value2、value3等是要插入的具体数据值。 2. 数据修改操作:使用UPDATE语句可以修改MySQL数据库中的数据。语法如下: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 其中,table_name是要修改数据的名,column1、column2等是要修改的列名,value1、value2等是要修改的具体数据值,condition是修改数据的条件。 3. 数据删除操作:使用DELETE语句可以从MySQL数据库删除数据。语法如下: DELETE FROM table_name WHERE condition; 其中,table_name是要删除数据的名,condition是删除数据的条件。 以上是MySQL数据库的数据插入、修改、删除操作的简要介绍,需要注意的是,在进行这些操作时,要确保对数据库有足够的权限,并且要谨慎操作,以免误删或误修改数据。 ### 回答2: MySQL是一种广泛使用的关系型数据库管理系统,它允许我们通过使用SQL语言进行数据库的操作。其中,对于数据库的数据操作,包括数据插入、修改、删除,是我们在使用MySQL时经常使用的命令。 在实验中,我们首先需要在MySQL中创建一个示例的数据库,这个我们可以在MySQL中使用CREATE TABLE语句来创建。接下来,我们可以使用INSERT INTO语句将数据插入到这个中,例如: ``` INSERT INTO 名 (列1, 列2, 列3) VALUES (值1, 值2, 值3); ``` 其中,示要插入数据的目标名,列1、列2、列3是需要插入数据的列名,值1、值2、值3是对应列需要插入的值。通过这个INSERT INTO语句,我们就可以将数据插入到我们创建的中,如果插入成功,我们可以通过SELECT语句查看刚刚插入的数据。 删除数据操作是通过使用DELETE语句来实现的,例如: ``` DELETE FROM 名 WHERE 列名=值; ``` 其中,示要删除数据的目标名,列名示我们期望删除数据的所在列名,值则是对应列的具体数值。这个DELETE语句可以删除中所有符合条件的数据。 最后,修改数据操作是通过使用UPDATE语句来进行的,例如: ``` UPDATE 名 SET 列名=新值 WHERE 列名=旧值; ``` 其中,示要修改数据的目标名,列名示要修改的所在列名,新值是我们要修改成的数值,旧值则是要修改的原有数值。这个UPDATE语句可以将告诉MySQL将符合条件的旧数据修改成新的数据。 总之,MySQL数据库的数据插入、修改、删除操作实验可以通过SQL语句来完成,需要理解这三个语句的使用方法,并理解相关的操作规则和语法。 ### 回答3: MYSQL是一款关系型数据库管理系统,被广泛应用于Web应用程序的开发。在数据库操作中,插入、修改和删除是最常见的操作之一。通过对MYSQL数据库的数据插入、修改和删除操作进行实验,可以更好地理解MYSQL数据库的基本操作和语法。 首先,我们需要创建一张。在MYSQL中,创建可以使用CREATE TABLE命令。下面,我们以创建一张学生信息为例,名为students,包括学生号(student_id)、姓名(name)、性别(gender)、年龄(age)和班级(class)五个字段。 在MYSQL中,创建的语法为: CREATE TABLE students ( student_id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, gender varchar(10) NOT NULL, age int(11) NOT NULL, class varchar(255) NOT NULL, PRIMARY KEY (student_id) ); 上述代码中,使用了主键约束,将student_id字段设置为主键。也可以使用外键、唯一键等进行约束。 接下来,我们可以进行插入操作。插入操作可以使用INSERT INTO命令。下面,我们以插入一位学生信息为例,她的学号为1,姓名为小明,性别为女,年龄为18,班级为一班。 插入语句的语法为: INSERT INTO students (student_id, name, gender, age, class) VALUES (1, "小明", "女", 18, "一班"); 使用上述语句,我们可以将一条记录插入到students中。 接下来,我们可以进行修改操作。MYSQL中的修改操作使用UPDATE命令。下面,我们以将小明所在的班级修改为二班为例进行说明。 更新语句的语法为: UPDATE students SET class="二班" WHERE student_id=1; 使用上述语句,我们可以将students中学号为1的记录的班级修改为二班。 最后,我们可以进行删除操作。MYSQL中的删除操作使用DELETE命令。下面,我们以将学号为1的记录删除为例进行说明。 删除语句的语法为: DELETE FROM students WHERE student_id=1; 使用上述语句,我们可以将students中学号为1的记录删除。 通过上述实验,我们可以更好地理解MYSQL数据库的数据插入、修改、删除操作的基本语法和操作流程。这对于MYSQL数据管理和开发非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值