完全转载自:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html

--创建数据库

create database Etp;

--连接数据库

connect to Etp;

--断开连接

disconnect Etp;

--查看当前数据库下有哪些表

list tables;

--建表

create table studentInfo(

 stuno char(5) not null,

 stuname varchar(8),

 stubirth date

);

--查看表结构

describe table studentinfo;

--新增表字段

alter table studentinfo add stutel int;

alter table studentinfo add abc int;

--修改字段类型

alter table studentinfo alter column stutel set data type
char(11);

--删除字段

alter table studentinfo drop column abc;

--增加一个非空约束

alter table studentinfo alter column stuname set not null;

--重构表

reorg table studentinfo;

--增加一个唯一约束

alter table studentinfo alter column stutel set not null;

alter table studentinfo add constraint un_stutel
unique(stutel);

--添加检查约束

alter table studentinfo add column stuAge int;

alter table studentinfo add constraint ch_stuAge check(stuAge
> 0 and stuAge <150);

--添加主键约束

alter table studentinfo add constraint pk_stuno primary
key(stuno);

--删除表

drop table studentinfo;

--创建表的同时添加约束方式1

create table studentinfo(

 stuNo int not null,

 stuName varchar(8) not null,

 stuAge int,

 stuTel char(8),

 constraint pk_stuNo primary key(stuNo),

 constraint un_stuName unique(stuName),

 constraint ch_stuAge check(stuAge
>=0 and stuAge <150)

);

--创建表的同时添加约束方式2

create table studentinfo(

 stuNo int not null primary key,

 stuName varchar(8) not null unique,

 stuAge int check(stuAge >=0 and
stuAge <150),

 stuTel char(8)

);

--添加主外键

--新增班级表

create table classInfo(

 classId int not null primary key,

 className varchar(20)

);

--建表的同时添加外键

create table studentinfo(

 stuNo int not null,

 stuName varchar(8) not null,

 stuBirth date not null,

 stuAge int,

 stuTel char(8),

 fclassId int,

 stuBirth date not null,

 constraint pk_stuNo primary key(stuNo),

 constraint un_stuName unique(stuName),

 constraint ch_stuAge check(stuAge
>=0 and stuAge <150),

 constraint fk_fcalssId foreign key(fclassid)
references classInfo(classId)

);

-- 自增

create table studentinfo(

 stuNo int not null generated always as
identity(start with 1 ,increment by 1),

 stuName varchar(8) not null,

 stuAge int,

 stuTel char(8),

 fclassId int,

 stuBirth date not null,

 constraint pk_stuNo primary key(stuNo),

 constraint un_stuName unique(stuName),

 constraint ch_stuAge check(stuAge
>=0 and stuAge <150),

 constraint fk_fcalssId foreign key(fclassid)
references classInfo(classId)

);

--先建表再添加外键

alter table studentinfo add constraint fk_classId foreign
key(fclassid) references classInfo(classId);

--从系统表中查询约束名

select constname, tabname, refkeyname, reftabname, colcount,
deleterule, updaterule from syscat.references;

--插入

insert into classinfo values(1,'ETP-1');

insert into studentInfo
values(1,'xy',20,'12345',1,'1990-02-28');

--不是全部插入则需要写列名

insert into studentinfo(stuNo,stuName,stuTel)
values(2,'wj','111');

-- 有自增长的列要写清楚列名

insert into studentinfo(stuName,stuAge,stuTel,fclassid,stuBirth)
values('xy',20,'12345',1,'1990-02-28');

insert into studentinfo(stuName,stuAge,stuTel,fclassid,stuBirth)
values('tom',22,'12345',2,'1990-02-28');

--更新

update studentinfo set stuBirth = '1990-02-21' where
stuName='xy';

update studentinfo set stuBirth = '1990-02-21',stuAge = 21 where
stuName='xy';

--删除

deleted from studentinfo where stuName='xy';

--查询

select * from studentinfo where stuName='xy';

select stuName,stuAge from studentinfo;

--别名查询

select stuName as 姓名,stuAge as 年龄 from studentinfo;

select s.stuName as 姓名,s.stuAge as 年龄 from studentinfo s;

--运算查询

select s.stuName as 姓名,s.stuAge+5 as 年龄 from studentinfo s;

--串联运算查询

select stuName||stuAge from studentinfo;

--and 和 or

select s.stuName as 姓名,s.stuAge+5 as 年龄 from studentinfo s where
s.stuName='xy' and s.stuAge=20;

select s.stuName as 姓名,s.stuAge+5 as 年龄 from studentinfo s where
s.stuName='xy' or s.stuAge=20;

--null

select * from studentinfo where stuAge is
null; 

select * from studentinfo where stuAge is not
null;

--between and 包括边界 相当于>=和<=s

select s.stuName as 姓名,s.stuAge+5 as 年龄 from studentinfo s where
s.stuAge between 10 and 20

--in

select * from studentinfo  where stuName in
('xy','wj');

select * from studentinfo  where stuName not in
('xy','wj');

--模糊查询 like%,%表示多个字符

select * from studentinfo where stuName like 'x%'

--模糊查询 like_ , _表示单个字段

select * from studentinfo where stuName like 'x_';

--排序 order by

select * from studnetinfo order by fclassid desc;

select * from studnetinfo order by fclassid asc;

--distinct去掉重复

select distinct stuAge as 年龄 from studentinfo;

--group by,使用的时候,select 后面只能加2种字段: 1.group by 后面出现的,2.聚合函数

select fclassId as 班级号,count(stuName) as 学生个数 from studentinfo
group by fclassid;

-having 在分组的基础上过滤,出现顺序where-group by-having

select fclassId as 班级号,count(stuName) as 学生个数 from studentinfo
group by fclassid having count(StuName)>=2

DB2中SQL基本语句的操作的更多相关文章

  1. db2 中 SQL判断物理表是否存在、修改表名

    1.db2 中 SQL判断物理表是否存在 SELECT * FROM SYSIBM.SYSTABLES WHERE TID <> 0 AND Name = 'TABLE_NAME' AND ...

  2. SQL万能语句-经典操作

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  3. oracle中sql查询语句的执行顺序

    查询语句的处理过程主要包含3个阶段:编译.执行.提取数据(sql查询语句的处理主要是由用户进程和服务器进程完成的,其他进程辅助配合) 一.编译parse 在进行编译时服务器进程会将sql语句的正文放入 ...

  4. Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用

    //方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; im ...

  5. PHP中SQL查询语句的id=%d解释

    在SQL语句中有一些写的是这样的: 'SELECT id FROM dbname WHERE xx_id = %d;', $bl['student_id'] 其中的“xx_id = %d”,这里的%d ...

  6. 嵌套SQL语句訪问DB2中SQLCA的调用技巧

    在IBM的关系型数据库产品DB2中,使用SQL Communication Area(SQLCA)将程序中嵌套的SQL语句执行情况返回给程序. 在程序中有针对性地对SQLCA实施调用,可对程序中各类S ...

  7. EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery

    一.目前EF Core的版本为V2.1 相比较EF Core v1.0 目前已经增加了不少功能. EF Core除了常用的增删改模型操作,Sql语句在不少项目中是不能避免的. 在EF Core中上下文 ...

  8. DB2常用sql语句

    转 DB2 提供了关连式资料库的查询语言sql(structured query language),是一种非常口语化.既易学又易懂的语法.此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操 ...

  9. 关于SQL中的Update语句

    今天在SQL数据库操作时需要将一张表中的数据Update到另一张表中去, 可是用我以往的写法确怎么也不能成功.代码如下: update table1 a set a.Col1=b.Col2 from ...

随机推荐

  1. centos8平台使用loginctl管理登录用户与session

    一,loginctl的用途: 控制 systemd 登录管理器 管理当前登录的用户和session 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/a ...

  2. python并发编程之多进程(实践篇) 转

    一 multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了multiproce ...

  3. Helium文档8-WebUI自动化-wait_until等待元素出现

    前言 wait_until等待某个条件为真才继续往下执行.默认的超时时间为10s,每0.5查询一次,这俩参数选填.可以设置超时时间和轮询间隔. 可以作为添加后校验元素是否存在的场景 入参介绍 def ...

  4. c# 误区系列(二)

    前言 继续整理误区系列,可能会对刚入门的新手有些帮助,然后希望有错误的地方可以指出. 正文 关于泛型方法的确定 class Person<T> { public void add(T a) ...

  5. 简单又强大的pandas爬虫 利用pandas库的read_html()方法爬取网页表格型数据

    文章目录 一.简介 二.原理 三.爬取实战 实例1 实例2 一.简介 一般的爬虫套路无非是发送请求.获取响应.解析网页.提取数据.保存数据等步骤.构造请求主要用到requests库,定位提取数据用的比 ...

  6. sentinel控制台与应用通信原理

    1,应用程序配置中的port选项用于指定在应用端启动的http server的端口,默认8719 sentinel: transport: dashboard: localhost:8080 port ...

  7. 老板,来五道misc

    开个杂项坑 穿越时空的思念 音频隐写,audacity分离音道,摩斯密码一把锁 金三胖 是个gif,明显能感觉到里面藏有flag stegsolve逐帧分离太low了,直接用脚本一把梭 import ...

  8. 用 Java 训练深度学习模型,原来可以这么简单!

    本文适合有 Java 基础的人群 作者:DJL-Keerthan&Lanking HelloGitHub 推出的<讲解开源项目> 系列.这一期是由亚马逊工程师:Keerthan V ...

  9. VC获取文件后缀名

    VC获取文件后缀名 2011-07-28 10:30:50|  分类: Visual C++ and O |  标签: |举报 |字号大中小 订阅     1. CString GetSuffix(C ...

  10. DP百题练(三)

    目录 DP百题练(三) DP百题练(三) 不知不觉也刷了 50 道 DP 题了,感觉确实有较大的进步.(2020.3.20) 这里的 (三) 主要用来记录 DP 的各种优化(倍增.数据结构.斜率.四边 ...