Maison > base de données > tutoriel mysql > Quelle est la différence de syntaxe entre SQL et Oracle ?

Quelle est la différence de syntaxe entre SQL et Oracle ?

清浅
Libérer: 2020-09-14 15:21:15
original
11943 Les gens l'ont consulté

Les différences de syntaxe entre SQL et Oracle sont : 1. Différents types de données ; 2. Différentes fonctions pour obtenir l'heure actuelle du système ; 3. Différentes manières de créer des utilisateurs ; 4. Différentes manières de connecter des variables et des chaînes ; 5. La syntaxe de l'instruction conditionnelle "if...else..." est différente, etc.

Quelle est la différence de syntaxe entre SQL et Oracle ?

La différence de syntaxe entre SQL et Oracle inclut différents types de données, différentes fonctions pour obtenir l'heure système actuelle, aucune contrainte par défaut dans Oracle et la manière de se connecter variables et chaînes Différent, les instructions de cas sont différentes, etc.

Les types de données sont différents

Types de données du serveur SQL : int, smallint, char, varchar, nchar, nvarchar, ntext,datetime,smalldatetime,money,decima,float,bit

Type de données Oracle : nombre(p,s),char,varchar2,Date,LOB

Obtenir le système actuel Les fonctions du temps sont différentes

Serveur SQL : getdate()

Oracle : sysdate

Par exemple : fonction pour définir le format de date

to_char(sysdate,'yyy-mm-dd');
Copier après la connexion

Il n'y a pas de contrainte par défaut dans Oracle

Ajouter une contrainte par défaut dans le serveur SQL :

alter table talbe_name add DF_table_name default('男') for sex;
Copier après la connexion

Ajouter une valeur par défaut dans Oracle :

alter table table_name modify(sex default('男'));
Copier après la connexion

Les méthodes de connexion des variables et des chaînes sont différentes

Connexion support serveur SQL : utilisez la connexion "+", par exemple :

print 'aaaa'+@name;
Copier après la connexion

Connexion support Oracle : utilisez la connexion "| |" par exemple :

dbms_output.put_line('aaa'||name);//name为变量
Copier après la connexion

Oracle n'a pas de colonne de croissance automatique d'identité, mais utilise une séquence pour obtenir une croissance

Connexion automatique du serveur SQL grow : l'identité peut être utilisée directement dans la colonne clé primaire du tableau (1, 1) Pour obtenir une croissance

oracle utilise la séquence pour croître automatiquement :

create sequence se_id 
start with 1
increment by 1
Copier après la connexion

utilise la séquence pour obtenir une croissance automatique Growth : se_id.nextval

Instruction conditionnelle if...else... La syntaxe est différente

serveur SQL :

  if 条件
            begin
              …………
            end
            else
            begin
              …………
            end
Copier après la connexion

oracle :

  if 条件1 then
               …………;
            elsif 条件2 then
               …………;
            else
              …………;
            end if;
Copier après la connexion

La syntaxe de l'instruction case est différente

sql Dans le serveur :

select ....case.....(else)....end....语句
            select stuno '学号',case
            when grade>=90 and grade<=100 then &#39;★★★★&#39;
            when grade>=80 and grade<90 then &#39;★★★&#39;
         when grade>=70 and grade<80 then &#39;★★&#39;
         when grade>=60 and grade<70  then &#39;★&#39;
            else &#39;差&#39;
            end as &#39;等级&#39; from score
            go
Copier après la connexion

Dans oracle :

  declare
        nums number:=&nos;--&nos表示提示传入值
            begin
              case nums
                when 100 then
                  dbms_output.put_line(&#39;满分也,不错&#39;);
                when 90 then
                  dbms_output.put_line(&#39;90分页很不错了&#39;);
                end case;
            end;
Copier après la connexion

Le la façon de créer des utilisateurs est différente

Dans le serveur SQL,

est créé Compte de connexion : sa-----123456

create Login 登陆名称 with password=&#39;登陆密码&#39;
Copier après la connexion

Modifier le compte de connexion :

alter Login 登陆名称 with name=&#39;新登录名称&#39; and password=&#39;新登录密码&#39;
Copier après la connexion

Désactiver/activer le compte de connexion

alter Login 登录名称 disable(禁用)/enable(启用)
Copier après la connexion

Supprimer le compte de connexion

drop Login 登录名称
Copier après la connexion

Créer un utilisateur :

create user 用户名 for/from Login 登陆名称
Copier après la connexion

Modifier le nom d'utilisateur

alter user 用户名 with name=&#39;新用户名&#39;
Copier après la connexion

Supprimer le nom d'utilisateur

drop user 用户名
Copier après la connexion

Limite d'autorisation

grant select/update/delete/insert on 表名 to 用户名
Copier après la connexion

oracle :

Créer une syntaxe utilisateur

create user 用户名
identified by 密码
default tablespace users
temporary tablespace temp
quota 10M on users
Copier après la connexion

Changer le mot de passe

alter user 用户名 identified by 新密码
Copier après la connexion

Accorder des autorisations

grant create session to 用户名
Copier après la connexion

Supprimer l'utilisateur

drop user 用户名 cascade;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal