上课时的重要内容,其中表 t_hq, t_hq2, 以及字段的名字是举例说明。
update t_hq t set t.bumendh = '10086';
commit;
全表更新电话,commit是提交的命令。
update是关键字,t_hq是表名,set是关键字,更改电话的关键字,这句语句意思是将表内的‘bumendh’选项添加上‘10086’。
update t_hq t set t.bumen = '商讯部', t.bumendh = '123456' where t.bumen = '生产部';
commit;
后面加了where条件语句,更新某一个。
这句语句使用了一个简单的方法,先将表 t_hq 赋值给 t ,表示一个范围,where 后面是条件,这句语句的意思是将 ‘bumen’ 选项为 ‘生产部’ 的数据更换为 ‘商讯部’ ,这一行的bumendh更换为123456。
update t_hq t set t.bumendh = '13579' where t.hanqbh = '101' or t.hanqbh = '103' or t.hanqbh = '104';
commit;
同时更行几个数据。
同样的简便方法,这句是将复合条件的几个数据同时换成想换的那一串数字,后面用了 or 关键字,这里是不能用 and 的,表的更新数据,是从开始一直检索到最后,将符合条件的数据进行更换,只能使用 or 关键字。也可以有如下写法:
update t_hq t set t.bumendh = '123890' where t.hanqbh > '101' and t.hanqbh < '104';
commit;
找到一个具有唯一性的列,然后取复合区间段规律的条件进行更换。
删除数据
delete t_hq where bumendh = '13579';
commit;
where关键字是给语句加一个限制条件,复合这个条件的数据将执行此操作。
备份一个表的语法结构
create table t_hq2 as select * from t_hq;
删除整个表的内容
truncate table t_hq2;
commit;
需要注意的是删除整个表的内容,表内部的结构是会被保留的,并且还有一点要注意,如果这个表跟其他表建立了外键,需要先把外键取消才能删除。
插入别的表中复合条件的数据
insert into t_hq2(hanqbh) select hanqbh from t_hq where hanqbh = '101'; 加了一个限值"hanqbh",所以只是复制的101,如果去掉限值,就是复制的整行。
commit;
如果想复制整行的写法为
insert into t_hq2 select * from t_hq where hanqbh = '101';where 后面或者取其他限制条件。
创建一个表格,只是复制里面的数据结构,数据不复制
create table t_hq3 as select * from t_hq where 1>2;
commit;
where 后面的限制条件是肯定不会发生的,此时表格的复制就是只复制了表内的结构,数据不会进来,方便于以后复制表结构。