SQL常用语句

1. 查询select

  • SELECT 语句用于从表中选取数据。
  • 语法
    • 查询某列:SELECT 列名称 FROM 表名称
    • 查询所有列:SELECT * FROM 表名称
    • 联合查询:SELECT t.列名, s.列名 FROM 表名称 t, 表名称 s WHERE t.列名 = s.列名【不写时默认为JOIN】
      • JOIN(INNER JOIN): 如果表中有至少一个匹配,则返回行。
      • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
      • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
      • FULL JOIN: 只要其中一个表中存在匹配,就返回行

2. 行数据插入insert into

  • INSERT INTO 语句用于向表格中插入新的行。
  • 语法
    • INSERT INTO 表名称 VALUES (值1, 值2,....)
    • INSERT INTO table_name (列1, 列3,...) VALUES (值1, 值3,....)【指定所要插入数据的列】

3. 数据修改update

  • Update 语句用于修改表中的数据。
  • 语法
    • SELECT * FROM 表名称 for UPDATE
    • UPDATE 表名称 SET 列名称 = 新值 [,列名称=新值] WHERE 列名称 = 某值

4. 列修改alert

  • ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
  • 语法
    • 添加列:ALTER TABLE table_name ADD column_name datatype
    • 修改列数据类型:ALTER TABLE table_name ALTER COLUMN column_name datatype
    • 删除列:ALTER TABLE table_name DROP COLUMN column_name[部分数据库不允许此种列删除方式]

5. 删除delete

  • DELETE 语句用于删除表中的行。
  • 语法
    • 删除某行:DELETE FROM 表名称 WHERE 列名称 = 值
    • 删除所有行:DELETE FROM table_name或者DELETE * FROM table_name

6. 创建数据库

  • CREATE DATABASE 用于创建数据库。
  • 语法
    • CREATE DATABASE database_name

7. 创建表

  • CREATE TABLE 语句用于创建数据库中的表。
  • 语法

    CREATE TABLE table_name
    (
    列名称1 数据类型,
    列名称2 数据类型,
    列名称3 数据类型,
    ....
    )

8. 删表或数据库drop

  • DROP 语句可以轻松地删除索引、表和数据库
  • 语法
    • 删表(表的结构、属性以及索引也会被删除):DROP TABLE table_name
    • 删除数据库:DROP DATABASE database_name

9. delete,drop,truncate 比较

  • delete
    • 可删除行数据
    • 不带where的delete:只删除数据,表的结构、属性和索引都是完整的。
  • truncate
    • 语法:TRUNCATE TABLE table_name
    • 仅删除表中的数据,表的结构、属性和索引都是完整的。
    • 注意:truncate 不能删除行数据,要删就要把表清空。
  • drop:表的结构、属性以及索引也会被删除

10. 循环语句:while语句&for语句&loop语句

  • loop方式

    • 语法:loop代表循环开始,end loop代表循环结束

      LOOP 代码块; 
      ... EXIT [WHEN condition]; 
      END LOOP;
    • 例子

          --使用loop循环输出1-10 
          --注意loop循环和while循环相反
          declare 
              pnum number:=1;
          begin 
              loop 
                  exit when pnum>10;
                  --当pnum变量大于10的时候退出loop循环 
                  --输出循环变量 
                  dbms_output.put_line(pnum); 
                  --循环变量自增 
                  pnum := pnum+1; 
              end loop; 
          end;
  • while方式 :WHILE循环主要适用于不知道具体循环次数的情况

    • 语法

         WHILE 循环条件 LOOP
               需要循环执行的代码块
           END LOOP;
    • 例子

          --使用while循环打印数字的1-10  
          --set serveroutput on  
      
          declare  
          --定义循环变量赋初值为1  
              pnum number := 1;
          begin
              while pnum<=10 loop
                  --循环体
                  dbms_output.put_line(pnum);
                  --使得该变量+1
                  --pnum++;是错误的写法,oracle不支持这种写法
                  pnum := pnum+1;
              end loop;
          end;  
  • for方式【最优】:FOR循环主要适用于知道具体循环次数的情况

    • 语法

          FOR 循环变量 IN 循环开始 .. 循环结束 LOOP
              需要循环执行的代码块
          END LOOP;
    • 例子

          --使用for循环打印1-10
          --set serveroutput on
      
          declare
              --定义循环变量
              pnum number:=1;
          begin
              for pnum in 1..10 loop 
                  dbms_output.put_line(pnum);
              end loop;
          end;  

ps: SQL语句对大小写不敏感

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值