修改表中的指定固定列的数据
命令语法:update table_name set 字段=new_values .... where (注意:添加条件)
例如:更新前
root@leadchina 07:07:03->select * from student; +----+----------+-----+--------+ | id | name | age | dept | +----+----------+-----+--------+ | 1 | student1 | 0 | NULL | | 2 | student2 | 10 | NULL | | 5 | 008 | 9 | NULL | | 7 | name | 10 | yuwen | | 8 | hui | 10 | meishu | | 9 | tes | 20 | shuxue | +----+----------+-----+--------+
修改表中id为1的,执行以下语句;
update student set name='huhui',age=29 where id=1; root@leadchina 07:07:03->select * from student; +----+----------+-----+--------+ | id | name | age | dept | +----+----------+-----+--------+ | 1 | student1 | 0 | NULL | | 2 | student2 | 10 | NULL | | 5 | 008 | 9 | NULL | | 7 | name | 10 | yuwen | | 8 | hui | 10 | meishu | | 9 | tes | 20 | shuxue | +----+----------+-----+--------+
注意:
当我们不添加条件时去做更新操作会对所有表格的字段全部指定new_values.
如下:此时dept会全部被变更,所以注意。
root@leadchina 07:20:11->update student set dept='shuxue'; Query OK, 6 rows affected (0.01 sec) Rows matched: 6 Changed: 6 Warnings: 0 root@leadchina 07:24:12->select * from student; +----+----------+-----+--------+ | id | name | age | dept | +----+----------+-----+--------+ | 1 | huhui | 29 | shuxue | | 2 | student2 | 10 | shuxue | | 3 | 008 | 9 | shuxue | | 7 | name | 10 | shuxue | | 8 | hui | 10 | shuxue | | 9 | tes | 20 | shuxue | +----+----------+-----+--------+ 6 rows in set (0.00 sec)
如果执行了此操作,可通过恢复备份进行回档,即恢复备份:
mysql -uroot -p test </opt/test_bak.sql