常用的SQL命令及表的管理

查询用户创建表

select * from user_tables

查询用户自定义的数据库对象

select distinct object_type
from user_objects ;

表的命名规则

  1. 必须以字母开头
  2. 必须在1-30个字符之间
  3. 只能包含a-z,A-Z,0-9,_、$ 和 #
  4. 不能与用户定义其他对象重名
  5. 不能与系统保留字段重名

数据定义语言

数据定义语言 (Data Definition Language, DDL) 是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。

  • 建表CREATE TABLE 语句

例子1:
新建用户表T_USER结构如下:

字段 类型 长度 主键 为空
id number 6
姓名 char 20
年龄 number 2
性别 char 2
日期 date -
分数 float -

对应的SQL语句:

create table T_USER
(
  u_id      NUMBER(6) not null,
  u_name    CHAR(20),
  u_age     NUMBER(2),
  u_sex     CHAR(2),
  u_date    DATE ,
  u_score   float 
)
  • 修改表ALTER TABLE语句

例子2:
1. 先在表结构中添加一个u_tel字段,长度为20,类型为number,可为空;
2. 将u_tel字段中的字段长度修改为11;
3. 删除u_tel字段;

  1. 增加字段 ALTER TABLE ADD
alter table T_USER add(
     u_tel number(20)
)
  1. 修改字段 ALTER TABLE MODIFY
alter table T_USER modify(
     u_tel number(11)
)
  1. 删除字段ALTER TABLE DROP
alter table T_USER drop(
     u_tel
)
  • 删除表DROP TABLE
    例子3:将表T_USER删除
drop table T_USER ;

数据操纵语言

数据操作语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改,DML操作需要调用commit语句之后才能生效。

  • 插入数据INSERT INTO TABLE

例子4:
往T_USER中插入数据,u_id = 100000 , u_name = ‘叶清逸’ , u_age = 25 , u_sex = ‘M’ , u_date = ‘1992-10-24 20:47:00’ , u_score = 100.00 。

对应的SQL语句:

-- 插入一条数据
insert into T_USER
( u_id ,u_name ,u_age ,u_sex ,u_date ,u_score
) values (100000 , '叶清逸' , 25 , 'M' , to_date('1992-10-24 20:47:00','yyyy-mm-dd hh24:mi:ss') , 100.00);

-- 插入多条数据
insert all 
into T_USER values (100000 , '叶清逸' , 25 , 'M' , to_date('1992-10-24 20:47:00','yyyy-mm-dd hh24:mi:ss') , 100.00)
into T_USER values (100001 , '张三' , 21 , 'M' , to_date('1991-01-03 20:47:00','yyyy-mm-dd hh24:mi:ss') , 98.00)
into T_USER values (100002 , '李四' , 20 , 'M' , to_date('1995-10-06 20:47:00','yyyy-mm-dd hh24:mi:ss') , 65.00)
into T_USER values (100003 , '王五' , 18 , 'F' , to_date('1998-07-04 20:47:00','yyyy-mm-dd hh24:mi:ss') , 89.00)
into T_USER values (100004 , '李华' , 29 , 'M' , to_date('1986-10-24 18:07:00','yyyy-mm-dd hh24:mi:ss') , 73.00)
into T_USER values (100005 , '大傻' , 30 , 'M' , to_date('1980-01-13 20:47:00','yyyy-mm-dd hh24:mi:ss') , 36.00)
into T_USER values (100006 , '二傻' , 31 , 'M' , to_date('1981-05-05 20:47:00','yyyy-mm-dd hh24:mi:ss') , 56.00)
into T_USER values (100007 , '小傻' , 32 , 'M' , to_date('1982-09-16 20:47:00','yyyy-mm-dd hh24:mi:ss') , 43.00)
select 1 from dual ;

--从已知表插入数据
insert into t_user (u_id , u_name , u_date)
select s_id , s_name , s_birthday 
from t_student ;

--脚本插入,手动输入各项值
--& 指定列,放到变量值values位置
insert into t_user(u_id,u_name,u_age,u_sex,u_date,u_score)
values (&u_id,'&u_name',&u_age,'&u_sex','&u_date',&u_score);
  • 修改数据DELETE FORM TABLE WHERE

例子5:删除T_USER 中的 u_name = ‘张三’ 的记录。
对应的SQL语句:

delete from T_USER where u_name = '张三' ;
  • 修改记录UPDATE TABLE SET

例子6:将表T_USER中的王五的成绩修改为88 。

update T_USER set u_score = 87.00 where u_name = '王五' ;
  • 删除记录 DELETE

例子7:将表T_USER中名叫王五的记录删除。

delete from T_USER where u_name = '王五' ;
  • 简单的查询SELECT

例子8:查询表T_USER表中的所有记录。

扫描二维码关注公众号,回复: 1601403 查看本文章
select * from T_USER

COMMIT与ROLLBACK

  • commit 就是确定提交的意思,比如你用SCOTT账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert 的记录;而commit后则其他账户就能查询到你insert的记录了。
  • rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。

关于select的用法还有很多将会在别的文章进行总结。

猜你喜欢

转载自blog.csdn.net/u013634252/article/details/80556819