数据库____操作表中数据

来源:互联网 发布:备孕前准备 知乎 编辑:程序博客网 时间:2024/06/05 12:04
1 操作表中数据






添加
修改
删除






添加




INSERT INTO table_name
(column1,column2,...)
VALUES(value1,value2,...)





SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE


SQL> insert into userinfo
  2  values(1,'xxx','123','736478610@qq.com',sysdate);


已创建 1 行。


SQL> select * from userinfo;


        ID USERNAME             USERPWD
---------- -------------------- --------------------
EMAIL                          REGDATE
------------------------------ --------------
         1 xxx                  123
736478610@qq.com               30-10月-16








向表中指定字段添加值


SQL> insert into userinfo(id,username,userpwd)
  2  values(2,'yyy','123');


已创建 1 行。


SQL> select username,userpwd from userinfo;


USERNAME             USERPWD
-------------------- --------------------
xxx                  123
yyy                  123






向表中添加默认值




create table userinfo1(
id number(6),
regdate date default sysdate);






SQL> create table userinfo1(
  2  id number(6),
  3  regdate date default sysdate);


表已创建。


SQL> insert into userinfo1
  2  values(1);
insert into userinfo1
            *
第 1 行出现错误:
ORA-00947: 没有足够的值




SQL> insert into userinfo1(id)
  2  values(1);


已创建 1 行。


SQL> select * from userinfo1;


        ID REGDATE
---------- --------------
         1 30-10月-16




SQL> alter table userinfo
  2  modify email default '无';


表已更改。


SQL> insert into userinfo(id)
  2  values(3);


已创建 1 行。


SQL> select id,email from userinfo;


        ID EMAIL
---------- ------------------------------
         1 736478610@qq.com
         2
         3 无


SQL> insert into userinfo(id,email)
  2  values(4,'aaa');


已创建 1 行。




SQL> select id,email from userinfo;


        ID EMAIL
---------- ------------------------------
         1 736478610@qq.com
         2
         3 无
         4 aaa








2  复制表








在建表时复制
添加时复制









在建表时复制


CREATE TABLE table_new
as
SELECT column1,...|*FROM table_old





在添加时复制


INSERT INTO table_new
[(column1,...)]
SELECT column1,...|*FROM table_old



SQL> insert into userinfo_new
  2  select * from userinfo;


已创建4行。


SQL> select id from userinfo_new;


        ID
----------
         1
         2
         3
         4
         1
         2
         3
         4


已选择8行。



SQL> insert into userinfo_new(id,username)
  2  select id,username from userinfo;


已创建4行。


SQL> select id,username from userinfo_new;


        ID USERNAME
---------- --------------------
         1 xxx
         2 yyy
         3
         4
         1 xxx
         2 yyy
         3
         4
         1 xxx
         2 yyy
         3


        ID USERNAME
---------- --------------------
         4


已选择12行。




3




修改数据


UPDATE语句


UPDATE table_name
SET column1 = value1,...
[where conditions]




无条件更新







SQL> update userinfo
  2  set userpwd = '111111';


已更新4行。


SQL> select userpwd from userinfo;


USERPWD
--------------------
111111
111111
111111
111111






SQL> update userinfo
  2  set userpwd = '111',email = '111@126.com';


已更新4行。


SQL> select userpwd,email from userinfo;


USERPWD              EMAIL
-------------------- ------------------------------
111                  111@126.com
111                  111@126.com
111                  111@126.com
111                  111@126.com












有条件的更新


SQL> update userinfo
  2  set userpwd = '123456'
  3  where username = 'xxx';


已更新 1 行。


SQL> select username,userpwd from userinfo;


USERNAME             USERPWD
-------------------- --------------------
xxx                  123456
yyy                  111
                     111
                     111
















3 删除数据




DELETE语句


DELETE FROM table_name
[WHERE conditions]



无条件删除



SQL> create table testdelete1
  2  as
  3  select * from userinfo;


表已创建。


SQL> delete from testdelete1;


已删除4行。


SQL> select * from testdelete1;


未选定行




有条件删除



SQL> delete from userinfo
  2  where username = 'yyy';


已删除 1 行。


SQL> select username from userinfo;


USERNAME
--------------------
xxx




0 0
原创粉丝点击