db2 sql 判断select是否为空_学会复杂一点的SQL语句:Oracle DDL和DML

b44deb7a714ce3fda10ff09194d4bc29.png

create:创建表创建用户创建视图

创建表

create table student(id int,score int) ;

student后面与括号之间可以有空格可以没有

创建用户

create user liuyifei identified by 4852396;

drop:删除整个表、删除指定的用户、删除指定的存储空间

drop table table_name;drop user user_name;--删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;--删除非空表空间,但是不包含物理文件drop tablespace tablespace_name including contents;--删除空表空间,包含物理文件drop tablespace tablespace_name including datafiles;--删除非空表空间,包含物理文件drop tablespace tablespace_name including contents and datafiles;--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

truncate

删除表中的所有数据,但是表还是存在的。和drop的先后参见如下:

SQL> create table st1(id int);表已创建。SQL> truncate table st1;表被截断。SQL> drop table st1;表已删除。SQL> create table st1(id int);表已创建。SQL> drop table st1;表已删除。SQL> truncate table st1;truncate table st1               *第 1 行出现错误:ORA-00942: 表或视图不存在

alter:增加删除修改字段

SQL> create table s1(id int,a int,score int);表已创建。SQL> alter table s1 add name varchar2(10);表已更改。SQL>SQL> desc s1; 名称                                      是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID                                                 NUMBER(38) A                                                  NUMBER(38) SCORE                                              NUMBER(38) NAME                                               VARCHAR2(10)SQL> alter table s1 drop a;alter table s1 drop a                    *第 1 行出现错误:ORA-00905: 缺失关键字SQL> alter table s1 drop column a;表已更改。SQL> alter table s1 rename to s2;表已更改。SQL> desc s2; 名称                                      是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID                                                 NUMBER(38) SCORE                                              NUMBER(38) NAME                                               VARCHAR2(10)SQL> desc s1;ERROR:ORA-04043: 对象 s1 不存在SQL> alter table s2 rename column name to sname;表已更改。SQL> desc s2; 名称                                      是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID                                                 NUMBER(38) SCORE                                              NUMBER(38) SNAME                                              VARCHAR2(10)

DML:只对表的数据改变,没有改变表的属性

DML操作之后要进行commit操作才会更改数据库。

select:查询

SQL> select score,sname from s2 where id='2';     SCORE SNAME---------- ----------        99 ayun

insert:插入记录

SQL> insert into s2 values(1,100,'aming');已创建 1 行。SQL> insert into s2 values(2,99,'ayun');已创建 1 行。SQL> insert into s2 values(3,79,'ahe');已创建 1 行。

delete:删除记录,不改变表的属性。

SQL> delete from s2 where score='100';已删除 1 行。SQL> select * from s2;        ID      SCORE SNAME---------- ---------- ----------         2         99 ayun         3         79 aheSQL> delete from s2;已删除2行。SQL> select * from s2;未选定行SQL> desc s2; 名称                                      是否为空? 类型 ----------------------------------------- -------- ---------------------------- ID                                                 NUMBER(38) SCORE                                              NUMBER(38) SNAME                                              VARCHAR2(10)

update:更新记录

SQL> update s2 set score=100 where sname='ahe';已更新 1 行。SQL> select * from s2;        ID      SCORE SNAME---------- ---------- ----------         1        100 aming         2         99 ayun         3        100 ahe

DCL:只改变属性

grant:授权

revoke:收回权限

grant语法:GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}权限privilege:    select:查询    insert:插入    update:更新    delete:删除    rule:    all:所有grant select,insert,update on tablename to public;给所有用户授予查询、插入、更新tablename表的权限revoke select,insert,update on tablename from public;//收回所有用户查询、插入、更新tablename表的权限object:    table:表    view:视图    sequence:序列    index:索引grant select,insert,update on tablename,viewname,sequencename,indexname to public;public:对所有用户开放权限GROUP groupname:对该组所有用户开放权限username:对指定用户开放权限

给用户授权,connect权限和resource权限。

不给新建用户授予connect权限,新建用户无法通过SID或SERVICE_NAME连接数据库实例。

不给新建用户授予resource权限,新建用户无法创建表。

SQL>SQL> create user liuyifei identified by a4852396;用户已创建。SQL> conn liuyifei/a4852396;ERROR:ORA-01045: user LIUYIFEI lacks CREATE SESSION privilege; logon denied警告: 您不再连接到 ORACLE。SQL> show user;USER 为 ""SQL> conn / as sysdba;已连接。SQL> show user;USER 为 "SYS"SQL> grant connect to liuyifei;授权成功。SQL> conn liuyifei/a4852396;已连接。SQL> show user;USER 为 "LIUYIFEI"SQL> create table stu(id int);create table stu(id int)*第 1 行出现错误:ORA-01031: 权限不足SQL> conn / as sysdba;已连接。SQL> show user;USER 为 "SYS"SQL> grant resource to liuyifei;授权成功。SQL> conn liuyifei/a4852396;已连接。SQL> create table stu(id int);表已创建。

查看指定用户有哪些系统权限

这项操作只可以是dba查看,普通用户是不能查看的,即使是查看自己的。下面的代码已经验证了这个问题。

SQL> select * from dba_tab_privs where grantee=uper('liuyifei');select * from dba_tab_privs where grantee=uper('liuyifei')              *第 1 行出现错误:ORA-00942: 表或视图不存在SQL> select * from dba_roles_privs where grantee=uper('liuyifei');select * from dba_roles_privs where grantee=uper('liuyifei')              *第 1 行出现错误:ORA-00942: 表或视图不存在SQL> show user;USER 为 "LIUYIFEI"SQL> conn / as sysdba;已连接。SQL> select * from dba_tab_privs where grantee=upper('liuyifei');未选定行SQL> select * from dba_role_privs where grantee=upper('liuyifei');GRANTEE                        GRANTED_ROLE                   ADM DEF------------------------------ ------------------------------ --- ---LIUYIFEI                       CONNECT                        NO  YESLIUYIFEI                       RESOURCE                       NO  YES

附录1:

truncate和delete的区别

truncate会收回表空间,delete不会收回表空间

附录2:

sys用户和system用户的区别:

SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象

SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象

最后,咱给小编:

1. 点赞+关注

2. 点头像关注后多多评论,转发给有需要的朋友。

谢谢!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python分析股票数据_Python数据可视化——股票数据分析

1.背景 GAFATA,它表示的是GOOGLE,AMAZON,FACEBOOK,APPLE,TENCENT,ALIBABA这六家互联网巨头的首字母缩写。本文主要分析GAFATA这六家公司股票近一年的的涨跌情况。 2.过程 先使用conda安装: 1)在python环境下安装数据分析pandas包,…

python语言程序设计考试内容_MOOC_Python语言程序设计(嵩天)考试_第一周

以下内容仅用作个人学习记录 单项选择题 点击选项选择正确答案,每题有且仅有一个正确答案 1 Guido van Rossum正式对外发布Python版本的年份是: A 1991 B 2002 C 1998 D 2008 正确答案 A Python成功了,所以早年的开发历史也受到关注&…

mac连接手机 vm_使用mac ssh连接谷歌云vm实例

谷歌云上提供了在线操作云节点的shell,但是毕竟不如本地多年操作的shell用起来爽,因此,本文以mac iTerm为例,记录一下本地连接谷歌云的操作过程和遇到的问题。1.谷歌云提供的在线shell一. 在本地创建秘钥ssh-keygen -t rsa -f [yo…

dataframe 一列的不同值_python数据分析包|Pandas-02之缺失值(NA)处理

本篇详解pandas中缺失值(Missing data handling)处理常用操作。缺失值处理常用于数据分析数据清洗阶段;Pandas中将如下类型定义为缺失值:NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’,‘-NaN’, ‘-na…

https抓包_从Wireshark抓包看HTTPS的加密功能

近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来…

【Python】pip管理Python包

命令&#xff1a;pip install <包名> 安装指定的包。 pip install ipython #或者 pip install ipython -i https://mirrors.aliyun.com/pypi/simple/ 命令&#xff1a;pip uninstall <包名> 删除指定的包。 pip uninstall ipython 命令&#xff1a;pip list 显…

centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法

因为需要在centos7配置远程桌面&#xff0c;所以找了很多教程方法&#xff0c;结果都没有远程连接成功&#xff0c;以下是总结了很多教程后整理出的方法&#xff0c;在centos7下比较适用&#xff0c;其他的版本貌似有很大区别&#xff0c;这里不做研究。一、图形界面安装(MATE …

python整数类型在每一台计算机上的取值范围是一样的_关于python统计一个整数列表中不同数值种类数的问题。...

下面这段代码中&#xff0c;kind_num用于统计那个整数列表中有几种不同数值的整数。 class Solution(object): def distributeCandies(self, candies): """ :type candies: List[int] :rtype: int """ loc len(candies) mol loc % 2 if not (2…

ndarray python 映射_在Matlab的delsq演示中,用numpy方法对向量映射进行ndarray处理?...

下面复制了演示。G中的编号是不同的&#xff0c;但数字只是标签(标签网格让我困惑)。在import numpy as npfrom scipy import sparsefrom scipy.sparse import linalgimport matplotlib.pyplot as pltdef numgrid(n):"""NUMGRID Number the grid points in a tw…

实验报告总结_小学四年级数学下册全册知识点总结 ,家有四年级学生的家长收藏...

一、观察物体知识技能目标知道从低到高观察物体&#xff0c;体会出不同的位置看到的范围是不一样的&#xff0c;由远到近看到的范围是越来越小&#xff0c;从而体会不同距离观察物体形状的变化。知识检测摆一种物体&#xff0c;从不同的面去观察&#xff0c;看到的面是什么图形…

配置中心_Nacos做配置中心

一、简单使用Nacos官方快速开始文档&#xff1a;https://nacos.io/zh-cn/docs/quick-start.html在每个服务中编写bootstrap文件&#xff0c;服务使用该文件启动&#xff0c;并根据该文件的指引到Nacos获取配置信息bootstrap文件示例&#xff0c;可以不用写端口&#xff0c;需要…

python numpy逆_numpy.linalg.inv返回奇异矩阵的逆函数 - python

下面的矩阵是单数&#xff0c;并且AFAIK尝试将其求反应导致 numpy.linalg.linalg.LinAlgError: Singular matrix 但是我得到了一些输出矩阵。请注意&#xff0c;输出矩阵是无意义的结果&#xff0c;因为它具有一行0&#xff08;这是不可能的&#xff0c;因为矩阵的逆本身应该是…

mysql lock_MySQL-锁总结

锁锁机制用于管理对共享资源的并发访问。lock和latch在数据库中&#xff0c;lock和Latch都称为锁&#xff0c;但是两者意义不同。latch称为闩锁(shuang suo)&#xff0c;其要求锁定的时间必须非常短。若持续的时间长&#xff0c;则应用的性能会非常差。在InnoDB存储引擎中&…

hive 两个没有null指定的表左关联的结果有null_Hive的优化原则

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/174469951本篇将 Hive 的优化分成三个部分:第一部分是 SQL 通用语法优化&#xff0c;第二部分是针对 Hive 所具有的数据倾斜的优化&#xff0c;第三部分则介绍一些通用性的 Hive 参数设置优化。一、语法优化 SQL 的语法优化本…

django使用mysql_设置Django以使用MySQL

我想稍微远离PHP&#xff0c;学习Python。为了使用Python进行Web开发&#xff0c;我需要一个框架来帮助模板和其他事情。我有一台非生产服务器&#xff0c;用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。昨天我安装了Djan…

python数据分析兼职能挣钱吗_Python开发能从事数据分析吗

Python不仅是人工智能时代最佳的编程语言&#xff0c;同时也是数据分析、科学运算的首选编程语言。学习Python就业方向多&#xff0c;比如Web网站开发、人工智能等。Python数据分析师需要掌握哪些技能&#xff0c;从各大招聘网站对其的基本任职要求可以了解一二&#xff1a; 1、…

mysql字段重命名_MySQL中使用SQL语句对字段进行重命名

MySQL中&#xff0c;如何使用SQL语句来对表中某一个字段进行重命名呢&#xff1f;我们将使用alter table 这一SQL语句。重命名字段的语法为&#xff1a;alter table change 。现在我们来尝试把test表中的t_name字段重命名为t_name_new字段。1、首先查看一下当前test表的结构mys…

python中打开文件open_Python中打开文件的方式(With open)

1.读文件 要以读文件的模式打开一个文件对象&#xff0c;使用Python内置的open()函数&#xff0c;传入文件名和标 示符&#xff1a; f open( /Users/michael/test.txt, r ) 标示符’r’表示读&#xff0c;这样&#xff0c;我们就成功地打开了一个文件。 如果文件不存在&#x…

php连接mysql的方式_php有几种连接mysql的方法

展开全部大致62616964757a686964616fe4b893e5b19e31333363356566有以下方法&#xff1a;1、使用 mysql &#xff0c;提示&#xff1a;此种方法官方不建议。<?php $con mysql_connect("localhost","root","");if (!$con){die(Could not conn…

jdk 安装_Linux入门之Linux CentOS安装jdk

第一步&#xff1a;创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容易区分)mkdir -p /usr/local/src/jdk第二步&#xff1a;查看之前是否安装rpm -qa | grep -i jdk若之前安装过jdk&#xff0c;下次安装一定把之前的删除干净第三步&#xff1a;命令…