本文约 3207 字,阅读大约需要 4 分钟

SQL Developer | MySQL

  • SQL Developer
    • SQL 修改表语句
      • 使用 SQL 语句创建表 E
      • 查看表 E
      • 使用 ALTER 修改表 D
      • 修改字段长度
      • 删除字段
      • 删除表
      • 复制表
      • 重命名列名
    • 约束
      • 约束分类
      • 主键约束
      • 非空约束
      • 外键约束
      • 删除表的主键约束
      • 删除表的外键约束
      • 检查约束(check)
      • 创建表时添加检查约束
      • 修改表时添加检查约束
      • 移除检查约束
      • 唯一约束(unique)
      • 创建表时添加唯一约束
      • 移除唯一约束(修改表)
      • 非空约束(not null)
      • 添加数据(insert)
      • 修改表中数据(update)
      • 删除数据(delete)
      • 清空数据(truncate)
      • 合并表(merge)
    • 基本查询
    • 查询

SQL Developer

SQL 修改表语句

使用 SQL 语句创建表 E

create table E (-- 列名  存放数据的数据类型  空/非空EID varchar2(3) null/not null,ENAME varchar2(30)
);

查看表 E

select * from E ;

使用 ALTER 修改表 D

alter table D    -- 添加字段(2个)/添加列-- 列名  存放数据类型  默认值'12345'add(location varchar(20) default '12345',phone varchar2(20) null;    -- 第二字段);

修改字段长度

alter table D    -- 修改表中已有 location 字段的长度为10modify(location varchar(10));

删除字段

alter table D    -- 删除 D 表中的 note 字段drop column note;    -- 删除列

删除表

truncate table D -- 删除整个表中的数据,不可撤销
delete E    -- 删除表中数据,通过加 WHERE 语句来实现删除表中部分数据
drop table  -- 删除整表

复制表

create table myemp(编号, 姓名, 年薪)
as select * from DEP

重命名列名

select 原列名, 新列名原列明 as 新列名

约束

约束分类

not null 非空

unique key 唯一键

primary key 主键

check 检查

foreign key 外键

数据完整性 = 正确性 + 一致性

  1. 域名完整性(列)约束方法:限制数据类型,检查约束,外键约束,默认值非空约束

  2. 实体完整性(行):保证每一行不重复

  3. 引用完整性(参照):主从关系,从 -> 主,外键约束实现

    (数据完整性都是有不同的约束类型来保障的)

主键约束

关键字:primary key

功能:非空且唯一(一个表中只允许有一个主键)

create table S(  -- 创建表时添加主键约束S# CHAR(9) constraint_S# primary key   -- 约束的名称:constraint_S#
);
alter table S    -- 修改表时添加主键约束
add constraint S_SID_DK primary key(SID);   -- 约束名称:S_SID_DK;列名:SID
select * from user_constraints where table_name = "T" -- 查看为 T 表创建的约束

非空约束

关键字:not null

alter table Smodify name varchar(20) not null;   -- 修改表过程中添加非空约束

外键约束

关键字:foreign key

  1. 用于确保相关的两个字段之间的参照关系
  2. 子表外键中的值必须在主表范围内,或 null
  3. 外键参照的必须是主表的主键或唯一键,当被子表参照时主表相应记录,不允许被删除
create table SC( -- 创建 SC 表,同时为主表已有的列 S# 和 C# 字段添加外键,分别引用已有主表的 S 和 C 列S# char(9),C# char(7),constraint SC_S#_S1 foreign key(S#) references S(S#),constraint SC_C#_S2 foreign key(C#) references C(C#),
)

SC_C#_S2 创建的外键约束的名字(子表名_列名_子表名)

foreign key(C#) 已有主表主键约束的列名

references C(C#) 已有主表名,已有主表列名(含主键)

alter table S    -- 在修改表时为行字段添加外键约束(已有主表S)add constraint SC_S#_S1 foreign key(S#)references SC(S#)

SC_S#_S1 约束名称

foreign key(S#) 已有主表主键约束的列名

SC(S#) 建立新的子表 SC,新子表的列名 S#

删除表的主键约束

alter table Sdrop constraints SS_S#_S1; [cascade]

SS_S#_S1 约束名

[cascade] 用于删除外键使用

删除表的外键约束

alter table SSdrop constraint SS_S1

SS 外键表名

SS_S1 外键约束名

检查约束(check)

用于定义数据字段必须要满足的条件(取值范围,文本内容格式)

创建表时添加检查约束

在创建表语句(create table)后添加:constraint 约束名 check (检查约束条件,多个条件使用 and 链接)

修改表时添加检查约束

alter table S add check(SSEX='男' OR SSEX='女'); --使用系统自动提供的约束名

S 需要修改的表名

SSEX='男' OR SSEX='女' 约束条件

alter table S add constraint S_SO check('');(sage between 0 and 120)   --表级检查约束或(sage >= 0 and sage <= 120)

S_SO 设定的约束名

移除检查约束

alter table S
drop constraint S_S0;

S 表名

S_S0 检查约束名

唯一约束(unique)

用于确保约束的字段不出现重复的值,允许有空值,允许定义多个唯一性约束

创建表时添加唯一约束

create table C(CNAME char(7) not null,unique(CNAME)  -- 表级定义
);
或
constrant C_0 unique(CNAME)

C_0 约束名

CNAME 列名

移除唯一约束(修改表)

alter table C
drop constaint C_0;

C 表名

C_0 唯一约束名

非空约束(not null)

alter table C
modify column not null

添加数据(insert)

insert into C(C#, CNAME, CLASSH) values('C1', '00', '72');

C 表名

C#, CNAME, CLASSH 指定数据列名

'C1', '00', '72' 要插入的数据

修改表中数据(update)

update SC
set GRADE = 61 -- 修改表中数据,不加 where 修改一列全部数据
(可省略) where C# = 'C401001' and GRADE <= 80;  -- 修改符合条件对应的列数据

SC 表名

set GRADE 要修改数据的列名

删除数据(delete)

delete S
(可省略) where PLAEOFB = '上海';

S 表名

where PLAEOFB = '上海'; 列名PLAEOFB,查找符合条件的数据’上海’

清空数据(truncate)

truncate table SS;   -- 清空 SS 表中的所有数据

合并表(merge)

commit 指令结束语句,提交标识符以上的所有命令,提交完成后继续执行下方语句

savepoint PI; 保存节点,用于指定标记位置后期回滚操作

rollback to PI 回滚到 PI 处

基本查询

数据操纵语言(DML)

  • SELECT
  • INSERT
  • DELETE
  • UPDATE
  • MERGE

数据定义语言(DDL)

  • CREATE
  • ALTER
  • DROP
  • RENAME
  • TRUNCATE

数据控制语言(DCL)

  • GRANT
  • REVOKT

事务控制语句

  • COMMIT
  • ROLLBACK

会话控制语句

  • ALTER
  • SESSION
  • SET ROLE

字符串连接运算符 || 可以把知乎或其他表达式连接在一起,得到一个新的字符串,实现 “合成” 列的功能

" 双引号为转义字符

查询

select sal, comm, sal + NVL(comm, 0) from EMP;  --(comm, 0): 如果 comm 列的值为空,则赋值为 0
select DISTINCT deptno from EMP;  --DISTINCT deptno: 去重(合并重复项)
select ename || 'IS A' AS 姓名, job AS JOB FROM EMP;  --ename: 列名; IS A: 接入名; 姓名: 列首名; ,: 分隔列,SELECT 至逗号前为第一列,逗号后到 FROM 前为第二列

SQL Developer | MySQL相关推荐

  1. centos sqldeveloper 连接mysql,Oracle SQL Developer 连接 Mysql 等数据库

    Oracle SQL Developer 个人感觉是比较好用的工具,因此除了连接oracle之外,还可以连接其他的数据库,如:MySQL,Access等.但是,它默认情况下只能连接Oracle和Acc ...

  2. sqldeveloper mysql迁移_通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤

    通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤 发布时间:2020-06-08 15:52:18 来源:51CTO 阅读:210 作者:三月 本篇文章给大家主要讲的是 ...

  3. 正确加载MySQL驱动的语句_使用数据库客户端工具Oracle SQL Developer加载第三方驱动连接mysql的方法...

    用Oracle SQL Developer时遇到no ocijdbc11 in java.library.path怎么办 不是配置环境变量,而是去选项里面,添加数据库的驱动 jdbc的驱动没有在cla ...

  4. pl sql mysql 版本_pl sql developer连oracle哪个版本的数据库都可以吗

    使用PL/SQL Developer连接OracleX64版本: •1. 下载32位Oracle InstantClient,并展开到某目录,例如C:\instantclient-basic-nt-1 ...

  5. 代码和mysql服务器编码不一致_PL/SQL Developer教程:解决oracle服务器端和客户端字符编码不一致问题...

    PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用.现在越来越多的商业逻辑和应用程式逻辑都在使用Oracle服务器,所以PL/SQL编程在整个开发 ...

  6. pl sql mysql 版本_老版本PL/SQL Developer操作数据库导致ORA-00600[17113]

    在巡检某运营商的计费库时,发现alert日志中发现如下错误 Thu Feb 2 13:54:52 2012 Errors in file /oracle9/app/admin/bill/udump/b ...

  7. Oracle Sql Developer

    刚刚入职,闲来无事,补补学的一塌糊涂的Oracle(确切的说这课我一节都没去上过). 安装Oracle也不算太容易,网上到处查资料弄了一会,装好之后发现sql*plus实在不好用,正好上午培训课介绍了 ...

  8. 通过PL/SQL developer工具访问远程的Oracle数据库_访问数据库_连接数据库_登录数据库

    文章目录 工具简介 电脑没有安装 Oracle 数据库 电脑安装了 Oracle 数据库 工具简介 PL/SQL Developer 是 Oracle 数据库开发工具,PL/SQL Developer ...

  9. oracle19c 安装权限_Oracle19c 安装及SQL developer连接

    因为偶然要用到Oracle数据库,而平常工作中用的都是mySQL的,所以电脑上安装的都是MySQL的相关服务,今天用到Oracle本地没有,所以自己安装了一个,但是因为不熟悉,安装遇到了很多的坑,因此 ...

最新文章

  1. 图解SQL Server 存储过程教程一
  2. docker Gitlab14.5.0 安装、配置、部署、使用
  3. Java生成MD5码
  4. 用jquery在一个页面加载另一个页面
  5. Navicat - 导入CSV注意事项
  6. 为什么大家越来越重视大数据的发展?
  7. Linux libaio 实例,linux libaio安装
  8. android 设置屏幕亮度,android 怎样设置屏幕亮度
  9. js跑马灯实现上下左右滚动 translateY translateYX
  10. 符冉迪 计算机 培训,宁波大学考研研究生导师简介-符冉迪
  11. 恢复Visual SourceSafe已删除的文件
  12. matlab系统频域分析,基于MATLAB的系统频域分析的实现
  13. 必备外文文献网站,有外文文献翻译功能
  14. 开关电源的五种纹波噪声如何抑制?
  15. 解决neural-renderer-pytorch编译安装问题
  16. python练习, 打鱼晒网问题
  17. 腾讯云七月优惠活动云服务器限量秒杀20元起
  18. 【kaggle】特征工程 trick
  19. 3D检测论文阅读简记
  20. 08 css补充知识

热门文章

  1. 用oracle发送电子邮件
  2. 二手书交易平台相关调研
  3. LeetCode849. 到最近的人的最大距离
  4. 原码,反码,补码的转换
  5. 华为机试真题 Java 实现【热点网站统计】
  6. C语言:使用函数计算一个数的阶乘
  7. 如何在靠tiktok在三个月内快速赚到20w的?实现人生逆转
  8. 基于Hmm模型和Viterbi算法的中文分词和词性标注
  9. ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理
  10. 设计模式(二)23种设计模式