Oracle数据库基础(1)

Oracle数据库

SQL:Structured Query Language(结构化查询语句)

SQL语句本身不区分大小写,但是出于可读性的目的,我们通常会将SQL中的关键字全部大写,非关键字全部小写。

9f718c3b792e40288379ca90751f1ce9.png

//图片引用自 @Alive~

Oracle基础知识:注:红色语句是关键字

创建新用户:[create user 用户名;]  实例:SQL>create user linzhihong by 123456;

授予用户权限:[grant to 用户名;] 实例:SQL>grant connect,resource,dba to linzhihong;

用户登录:[connect 用户名@数据库名称] 实例:SQL>connect linzhihong@orcl;

创建数据库表:[create table table_name()]

实例:SQL>create table student(

          Student_name varchar2(50)  //not null

         Student_ID number          //not null

);

向表中插入数据:insert into table_name values(字段1数据;字段2数据,字段n数据)

SELECT:用于检索数据库中的数据。

INSERT:用于向数据库中插入新数据。

UPDATE:用于更新数据库中的数据。

DELETE:用于从数据库中删除数据。

CREATE:用于创建数据库对象,如表、索引、视图等。

DROP:用于删除数据库对象。

ALTER:用于修改数据库对象的结构或属性。

GRANT:用于授予用户或角色访问数据库对象的权限。

REVOKE:用于撤销用户或角色访问数据库对象的权限。

COMMIT:用于提交事务并将更改保存到数据库中。

ROLLBACK:用于撤销事务并恢复到之前的状态。

SAVEPOINT:用于创建一个保存点,以便在事务中回滚到该点。

常见问题Q&A:

Select—from—where联合语句:

1.Oracle的SELECT-FROM-WHERE语句用于从数据库中选择数据并根据指定条件进行过滤。下面是一个基本的SELECT-FROM-WHERE语句的语法:

368bb7cf252b4c65a97cf4c311e1f94d.png

其中,column1, column2, ...是要选择的列名,可以用*代表所有列;table_name是要从中选择数据的表名;condition是一个可选的过滤条件,用于指定哪些行应该被返回。

例如,以下查询将从名为employees的表中选择所有员工的名字和薪水,但仅限于薪水大于50000的员工:

df4c032226704119823f9c0e8fc48024.png

此外,您可以使用ORDER BY子句来对结果进行排序,或使用GROUP BY子句来将结果分组。还可以使用其他关键字和子句来进一步自定义查询,例如JOIN,HAVING等等。

order By语句(排序)

2. ORDER BY是一个SQL语句的子句,用于对查询结果按照指定的列进行排序。它可以根据一个或多个列对查询结果进行升序(ASC)或降序(DESC)排序。

下面是一个基本的SELECT-FROM-WHERE-ORDER BY语句的语法

f9acb7ef030d4e9d958eb9d04608d08f.png

其中,column_name是要用来排序的列名,ASC表示升序排序(默认),DESC表示降序排序。

例如,以下查询将从名为employees的表中选择所有员工的名字和薪水,并按照薪水降序排序:

2273cae33f7f416897e75238ea48a0d6.png

在这个查询中,首先根据薪水降序排序,然后在薪水相同的情况下,按照雇佣日期升序排序。

以下是一些示例:

1.按单个列排序

以下示例按age列对表my_table中的数据进行升序排序:

a4975c3b2a58477988f59765d66c9796.png

2.按多个列排序

以下示例按city列升序排序,然后按name列降序排序:

0ac492fbd2a44fabada1531a98f1c408.png

3.使用函数排序

您还可以使用函数对数据进行排序。例如,以下示例按字符串长度升序排序:

42323847fd68489681e77f7a4580b971.png

4.使用别名排序您还可以使用列别名对数据进行排序。例如,以下示例按名为age_alias的列进行排序:

e5dd4a8ba2124633b7f61832b633967a.png

SQL UPDATE 语句

SQL UPDATE语句用于更新表中现有的记录。它可以修改表中的一行或多行数据,以满足特定的条件。

以下是SQL UPDATE语句的基本语法:

3b8f410a89f04405b5c8a2d53c02f4d8.png

  • table_name是要更新的表名。
  • SET关键字用于指定要更新的列及其新值。
  • WHERE子句用于指定更新记录的条件,如果省略WHERE子句,则将更新所有记录。

以下是一个简单的例子,将表my_table中age列为20的记录的name列更新为"John":

ade21930a9cc40e8be4552421b2beb2f.png

如果您需要更新多个列,可以在SET子句中指定多个列和它们对应的新值。例如:

eb3a1d8ce40a4c6c9371eb1c3cfb50aa.png

在执行UPDATE语句时,请务必小心。如果没有正确指定WHERE子句,可能会更新表中的所有记录。因此,在执行UPDATE语句之前,请仔细检查您的条件,以确保只更新您想要更新的记录。

SQL DELECT语句

SQL DELETE语句用于从表中删除一行或多行数据。它可以根据指定的条件删除表中的记录。请注意,删除操作是不可逆的,因此在使用DELETE语句之前,请务必小心检查您的条件。

以下是SQL DELETE语句的基本语法:

ac78211b7ac54bacb52085d44abf986d.png

  • table_name是要删除数据的表名。
  • WHERE子句用于指定要删除的记录,如果省略WHERE子句,则将删除所有记录。

以下是一个简单的例子,删除表my_table中age列为20的记录:

90352497f60241e9a50cc7ccefe1cc1d.png

如果您想删除表中的所有记录,可以省略WHERE子句,如下所示

bceb2927bdfe4e7d9c2f2ebd6e7f0854.png

需要注意的是,删除表中的数据会影响到与该表相关联的其他表和应用程序。因此,在执行DELETE语句之前,请确保您已备份了表中的数据,并且在执行之前已经仔细检查了条件。

SQL SELECT TOP 子句

SQL SELECT TOP子句用于在查询中返回指定数量的行或记录。在大多数数据库管理系统中,TOP子句用于指定要返回的记录数,而在一些其他系统中,它可能称为LIMIT或ROWNUM。

以下是SQL SELECT TOP子句的基本语法:

b419f5a3a3664a0f887def3275f42b6b.png

  • number是要返回的行数。
  • percent是要返回的记录的百分比。
  • column_name(s)是要返回的列名。
  • table_name是要查询的表名。
  • WHERE子句用于指定查询的条件。

以下是一个简单的例子,返回表my_table中前5个age列最大的记录

aa97327aff084f6b8e5fdc6170173942.png

如果您使用的是一些数据库系统(如MySQL和PostgreSQL),则可以使用LIMIT子句来实现相同的结果。例如,以下示例将返回表my_table中age列最大的5个记录:

4b6958ca21b145bb9e9ee0aba58dd105.png

需要注意的是,不同的数据库管理系统可能对TOP或LIMIT子句的语法和使用有所不同。在编写查询语句之前,请务必查阅所使用的数据库管理系统的文档,以确保您正确地使用了这些子句。

From子句

3. 在SQL查询中,FROM子句用于指定要查询的表,它通常是一个SELECT语句的第二个关键字。如果要从多个表中选择数据,则必须在FROM子句中列出这些表,并使用JOIN子句指定它们之间的关联条件。

以下是一个基本的SELECT-FROM语句的语法:

f33d4ada8ca8432285015cfffc7a232a.png

Where子句

4. Oracle支持使用WHERE子句中的多个条件对数据进行筛选。以下是一些示例:

使用AND和OR操作符使用AND和OR操作符可以将多个条件组合在一起,以便对数据进行更精细的筛选。例如,以下语句会选取所有age在18到30岁之间,且city为New York或Los Angeles的人:

3aa6b1c3389348c8a5476c1a65781849.png

使用IN操作符使用IN操作符可以将多个可能的值组合在一起,以便对数据进行筛选。例如,以下语句会选取所有city为New York、Los Angeles或Chicago的人:

3cc595f9f6ea489097c91a0b19ead69f.png

  1. 使用LIKE操作符使用LIKE操作符可以进行模糊匹配。例如,以下语句会选取所有name以字母A开头的人

bfe41e179f2b4da597b6570133e1517f.png

4.使用NOT操作符使用NOT操作符可以对条件取反。例如,以下语句会选取所有city不为New York的人:

89d00415cd504856a912733ef0fc6799.png

整数类型

  • 迷你整形:tinyint
  • 短整形:smallint
  • 中整形:mediumint
  • 标准整形:int

大整形:bigint

小数类型

  • 浮点型(单/双精度)

float/double

  • 定点型:

decimal(有效数位,小数

字符串类型

  • 定长型:char(固定长度)
  • 变长型:varchar()
  • 枚举型:enum(元素1,元素2,元素n)

类似单选框

  • 集合:set(元素1,元素2,元素n)

类似多选框

  • 文本字符串:

text

普通字符

二进制字符

  blob 

时间日期类型

  • 年:year
  • 时间戳:timestamp
  • 日期:date
  • 日期事件:datetime
  • 时间:time

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值