MYSQL修改插入删除表格数据

数据库博文汇总

本篇博客旨在更详细简洁的介绍MYSQl修改表格数据的相关基本操作,包括插入数据、修改数据和删除数据。文中有详细的源代码作示例,可以粘贴到MYSQL直接运行。

插入数据

首先创建一个空表格,id是唯一的,且自增长:

USE `s_book`;  
DROP TABLE IF EXISTS `t_book`;  /*上次博客用了这个表格,这次我们重新建立一个*/
create table `t_book`(          
  `id` int(11) NOT NULL AUTO_INCREMENT,  /*auto_increment 表示id 自增长,意思是,我插入一串数据,id自动增加*/
  `bookName` varchar(20) DEFAULT NULL,   
  `price` decimal(6,2) DEFAULT NULL,  
  `author` varchar(20) DEFAULT NULL,  
  `bookTypeId` int(11) DEFAULT NULL,  
  PRIMARY KEY (`id`)  
) 
mysql> desc t_book; /*表格创建完成了*/
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| bookName   | varchar(20)  | YES  |     | NULL    |                |
| price      | decimal(6,2) | YES  |     | NULL    |                |
| author     | varchar(20)  | YES  |     | NULL    |                |
| bookTypeId | int(11)      | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
mysql> select *from t_book; /可以看到这是个空表格,方便后续插入数据/
Empty set (0.00 sec)

  • 给表的所有字段插入数据 语法:INSERT INTO 表名 VALUES(1,值 2,值 3...,值 n)
mysql> insert into t_book values(null,'数学分析',120,'张三',1);
/*由于id自动增长,我们直接用Null就行了;这儿要注意,字符型要加英文的引号'',逗号也要是英文的,不然会报错*/
mysql> select *from t_book;  /*这就插入数据成功了*/
+----+--------------+--------+--------+------------+
| id | bookName     | price  | author | bookTypeId |
+----+--------------+--------+--------+------------+
|  1 | 数学分析     | 120.00 | 张三   |          1 |
+----+--------------+--------+--------+------------+
  • 给表的指定字段插入数据 语法:INSERT INTO 表名(属性 1,属性 2...,属性 n) VALUES(1,值 2,值 3...,值 n)
mysql> insert into t_book(bookname,author,booktypeid) values('高等代数','张三',2);
/*注意逗号和引号,t_book()里面要和后面的values()一一对应*/

mysql> select *from t_book; /*未插入的数据就用null代替*/
+----+--------------+--------+--------+------------+
| id | bookName     | price  | author | bookTypeId |
+----+--------------+--------+--------+------------+
|  1 | 数学分析     | 120.00 | 张三   |          1 |
|  2 | 高等代数     |   NULL | 张三   |          2 |
+----+--------------+--------+--------+------------+
  • 同时插入多条记录 语法:INSERT INTO 表名 [(属性列表)]VALUES(取值列表 1)(取值列表 2)...(取值列表 n) 
mysql> insert into t_book values(null,'泛函分析',110,'李四',3),(null,'复变函数',80,'李四',4);
/*插入多条数据,直接如上所示*/
mysql> select *from t_book;
+----+--------------+--------+--------+------------+
| id | bookName     | price  | author | bookTypeId |
+----+--------------+--------+--------+------------+
|  1 | 数学分析     | 120.00 | 张三   |          1 |
|  2 | 高等代数     |   NULL | 张三   |          2 |
|  3 | 泛函分析     | 110.00 | 李四   |          3 |
|  4 | 复变函数     |  80.00 | 李四   |          4 |
+----+--------------+--------+--------+------------+

更新数据

  • 修改更新数据(UPDATE 表名 SET 属性名 1=取值 1,属性名 2=取值 2...,属性名 n=取值 n WHERE 条件表达式)
mysql> update t_book set price=20 where id=2; 
/*将表格第二行的价格改成20*/
mysql> select *from t_book;
+----+--------------+--------+--------+------------+
| id | bookName     | price  | author | bookTypeId |
+----+--------------+--------+--------+------------+
|  1 | 数学分析     | 120.00 | 张三   |          1 |
|  2 | 高等代数     |  20.00 | 张三   |          2 |
|  3 | 泛函分析     | 110.00 | 李四   |          3 |
|  4 | 复变函数     |  80.00 | 李四   |          4 |
+----+--------------+--------+--------+------------+
mysql> update t_book set price=100 where id in (1,4);
mysql> update t_book set price=20 where id between 1 and 4;
/*把id在1到4之间的price全改成20*/
 
mysql> select *from t_book;
+----+--------------+-------+--------+------------+
| id | bookName     | price | author | bookTypeId |
+----+--------------+-------+--------+------------+
|  1 | 数学分析     | 20.00 | 张三   |          1 |
|  2 | 高等代数     | 20.00 | 张三   |          2 |
|  3 | 泛函分析     | 20.00 | 李四   |          3 |
|  4 | 复变函数     | 20.00 | 李四   |          4 |
+----+--------------+-------+--------+------------+
mysql> update t_book set price=60 where id>2;/*把id>2的价格设置为60*/
mysql> update t_book set price=70 where author like '%张三%';
/*把author中含有‘张三’的行的价格改成70*/

mysql> select *from t_book;
+----+--------------+-------+--------+------------+
| id | bookName     | price | author | bookTypeId |
+----+--------------+-------+--------+------------+
|  1 | 数学分析     | 70.00 | 张三   |          1 |
|  2 | 高等代数     | 70.00 | 张三   |          2 |
|  3 | 泛函分析     | 60.00 | 李四   |          3 |
|  4 | 复变函数     | 60.00 | 李四   |          4 |
+----+--------------+-------+--------+------------+
其实where 条件表达式还有很多,大家可以参考我的博文 MYSQL查询表格数据基本操作指南里面有更详细的where表达式用法。

删除数据

  • 删除表格数据(语法:DELETE FROM 表名 [WHERE 条件表达式]

mysql> DELETE FROM t_book WHERE id=4;
/**删除第四行/
mysql> select *from t_book;
+----+--------------+-------+--------+------------+
| id | bookName     | price | author | bookTypeId |
+----+--------------+-------+--------+------------+
|  1 | 数学分析     | 70.00 | 张三   |          1 |
|  2 | 高等代数     | 70.00 | 张三   |          2 |
|  3 | 泛函分析     | 60.00 | 李四   |          3 |
+----+--------------+-------+--------+------------+
mysql> delete from t_book where author like '%张三%';
/*删除作者姓名包含‘张三’的行*/
mysql> select *from t_book;
+----+--------------+-------+--------+------------+
| id | bookName     | price | author | bookTypeId |
+----+--------------+-------+--------+------------+
|  3 | 泛函分析     | 60.00 | 李四   |          3 |
+----+--------------+-------+--------+------------+
1 row in set (0.00 sec)
类似更新数据中WHERE表达式其实where 条件表达式还有很多,这里就不一一说明了,只要表达式符合逻辑,就可以进行删除操作。










猜你喜欢

转载自blog.csdn.net/w_weiying/article/details/80573129
今日推荐