SQL基础(二)之表与表数据操作

二、操作表

表是存储数据最基本的数据单位 
他是二位结构 行和列 行也叫记录  列也叫作域 或者 字段 

约定 
每一张表每一列的数据具有相同的数据类型 
列名唯一
每一行数据是唯一的 (唯一性)

2.1 数据类型 

字符型 char(n) n最大值为2000  
      nchar(n)  最大值为1000

     varchar2(n)  4000
     nvarchar2(n) 2000

数值型  number(p,s) p有效数字 s 小数点后面位数
       float(n)     二进制数字 
    
日期型 
     date 
     timestamp 精确到s

其他类型 
blob  4g  二进制 
clob  4g  字符串


2.2管理表 
 创建表
create table table_name 
 (
       colunm_name  datatype,
  )
实例:创建用户信息表 
  create table userinfo
   (
     id  number(6,0),
     username varchar2(20),
     userpwd  varchar2(2 0),
     email    varchar2(30),
     regdate  date,
    );
 desc userinfo

修改表名
rename table_name to new_table_name;
实例:rename  userinfo to new_userinfo;

删除表
truncate table table_name; 删除表中全部数据
实例:truncate table userinfo 

drop table table_name 删除表及表中的数据


修改表(结构
  添加字段 
alter table table_name
add column_name datatype; 

实例:alter table table_name
     add  remark  varchar2(500);

更改字段的数据类型
alter table table_name 
modify  column_name datatype;

实例:alter table table_name
     modify remarks  varchar2(400);

alter  table table_name
modify userpwd  number(6,0)

删除字段 
alter table table_name
drop column column_name(字段名)

实例:alter table userinfo
     drop column remarks;

删除空白行
delete from userinfo where id is null;

修改字段名
alter table table_name 
rename  column column_name to
new_column_name;

实例:alter table userinfo 
     rename  column email to new_email;

2.3操作表中的数据
添加数据
insert into table_name 
(column1,column2,........)
values(value1,value2,.......)

实例:给表中所有字段添加数据
insert into userinfo
values(1,'hanxubein','123','xx',sysdate);

insert  into userinfo(id,username)
values(1,'hanxubein');

查询:select  id,username from userinfo;

在创建表的时候给一个字段默认添加值 
create  table userinfo1
(id number(6,0),
regdate date default  sysdate);

修改表数据
alter table userinfo 
modify  email default '无';

复制表中的数据

一,在创建表的时候复制
create table  table_new
AS
select column1,......|* from table_old 

复制表中的全部数据 
create  table  userinfo_new
as
select  * from userinfo;

复制表中的部分字段
create table userin_new1
as
select id,username from userinfo

如果要只复制表结构而不对表数据进行复制可以写一个永远也满足不了的条件;
例如:CREATE TABLE TABLE_NEW AS  SELECT * FROM TABLE_NAME  WHERE 1=2;

二,在添加表的时候复制
    insert into table_new
        [(column1,.........)]
        select column1,.......|* from table_old;

        实例:添加表示复制全部数据
          insert into userinfo_new 
          select   *  from userinfo
         
实例二:添加表时复制部分字段
insert  into userinfo_new(id,username)
select  id,username from userinfo;

修改数据
update语句
update table_name
set  columns=value1,.......
[where conditions] //不加这个就是修改的全部数据

实例:无条件更新
update userinfo
set userpwd='111111';
//userinfo表中的所有密码字段全部变成111111

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

实例:由条件的更新 加上where语句
update userinfo
 set  userpwd='123456'
where username='xxx';

删除数据
delete语句
delete from table_name 
[where conditions]

实例:
delete from  userinfo 
where username='yyy';
   
     回顾之前的操作:
truncate table table_name; 删除表中全部数据
实例:truncate table userinfo 
drop table table_name 删除表及表中的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值