SQL语句之增删改

创建一个student表

mysql> desc student;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | tinyint(4)  | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20) | NO   |     | NULL    |                |
| age   | tinyint(4)  | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

增加表记录

1.增加一条记录insert

语法:insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......)

insert into student (id,name,age) values (1,'sumcet',20);
Query OK, 1 row affected (0.01 sec)

显示query ok,表示增加成功

2、插入多条数据

mysql> insert into student (id,name,age) values (2,'bbu',20),
    -> (3,'sum',21),
    -> (4,'sam',22);
Query OK, 3 rows affected (0.02 sec)

3、set插入:

语法:insert [into] tab_name set 字段名=值

insert into student set name='samq',age=21;
Query OK, 1 row affected (0.01 sec)

修改表记录

语法:update tab_name set field1=value1,field2=value2,......[where 语句]

mysql> select * from student;
+----+--------+-----+
| id | name   | age |
+----+--------+-----+
|  1 | sumcet |  20 |
|  2 | bbu    |  20 |
|  3 | sum    |  21 |
|  4 | sam    |  22 |
|  5 | samq   |  21 |
+----+--------+-----+
5 rows in set (0.00 sec)

mysql> update student set name='qwer' where id=5;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from student;
+----+--------+-----+
| id | name   | age |
+----+--------+-----+
|  1 | sumcet |  20 |
|  2 | bbu    |  20 |
|  3 | sum    |  21 |
|  4 | sam    |  22 |
|  5 | qwer   |  21 |
+----+--------+-----+
5 rows in set (0.00 sec)

UPDATE语法可以用新值更新原有表行中的各列。

SET子句指示要修改哪些列和要给予哪些值。

WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。

删除表纪录

语法:delete from tab_name [where ....]

mysql> delete from student where id=5;
Query OK, 1 row affected (0.04 sec)

mysql> select * from student;
+----+--------+-----+
| id | name   | age |
+----+--------+-----+
|  1 | sumcet |  20 |
|  2 | bbu    |  20 |
|  3 | sum    |  21 |
|  4 | sam    |  22 |
+----+--------+-----+
4 rows in set (0.00 sec

如果不跟where语句则删除整张表中的数据

delete只能用来删除一行记录

delete语句只能删除表中的内容,不能删除表本身,想要删除表,用drop table 表名;

TRUNCATE TABLE也可以删除表中的所有数据,词语句首先摧毁表,再新建表。此种方式删除的数据不能在

事务中恢复

truncate table 表名;

猜你喜欢

转载自www.cnblogs.com/sumcet/p/9004621.html