CDA学习-Sql数据库

news/2024/10/20 18:57:36/

1、数据库概述

数据库库是存储、调用、分析数据的仓库,主要分为关系型数据库管理系统(RDBMS)与非关系型数据库管理系统两类

  • 关系数据库是数据库应用的主流
  • 关系型数据库以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成数据库。
  • 目前主流关系型数据库有Oracle、DB2、Microsoft SQL Server、MySQL等。

操作关系型数据库时使用的语言叫结构化查询语句,简称SQL结构化查询语言。

2、数据定义语言DDL

数据定义语言是用来对数据库管理系统中的对象进行“增删改查”操作的SQL语句,一般应用DDL语言对数据库不同对象进行定义操作时,需要提前具备相应数据库管理权限。

  • 针对数据库对象的操作语言
  • 针对数据表对象的操作语言

3、数据库基本命令

定义数据库

  • 创建数据库:create database 数据库名称;
  • 查看数据库:show create database 数据库名称;
  • 查看数据库列表:show databases;
  • 使用数据库:use 数据库名称;
  • 删除数据库:drop database 数据库名称;

数据表-增删改查

  • 创建数据表:create table 表名;
  • 使用test数据库:use test;
  • 创建员工信息表:

        create table emp(

                depid char(3),

                depname varchar(20),

                  peoplecount int);

  • 查看表是否创建成功:show tables;
  • 删除数据表:drop table emp;
  • 自增字段:        

        create table emp(

                id int primary key auto_incerment,

                name varchar(4) not null,

                  math int default 0,

                 minmax float unique);

数据表-约束条件

  • 主键约束

        单字段主键

        create table emp(

                depid char(3) primary key,

                depname varchar(20));

        多字段主键

        create table emp(

                depid char(3) primary key,

                depname varchar(20)

                peoplecount int,

                primary key(depname,depid));

  • 非空约束   

        create table emp(

                depid char(3),

                depname varchar(20) not null,

                peoplecount int);

  • 唯一性约束

        create table emp(

                depid char(3) primary key,

                depname varchar(20) not null,

                peoplecount int unique);

  • 默认约束

         create table emp(

                depid char(3) primary key,

                depname varchar(20) default,

                peoplecount int unique);

数据表-修改数据表

  • 修改数据表名:alter table emp rename emodep
  • 修改数据类型:alter table empdep modify depname varchar(30)
  • 修改字段名:alter table empdep change depname dep varchar(30)
  • 修改字段名+字段类型:alter table empdep change dep depname  varchar(20)
  • 添加新字段+添加约束条件:alter table empdep add maname varchar(10) not null;
  • 修改字段排列顺序:
    • 将顺序放第一位:alter table empdep modify maname varchar(10) first
    • 将a顺序放b顺序之后:alter table empdep modify maname varchar(10) after depid
  • 删除字段:alter table empdep drop maname;

数据库操作语言DML

  • 数据填充insert/load:
    • 插入数据: insert into 表名(字段1,字段2,...) values ......
    • 导入外部数据: load data local infile '文件路径.txt' into table Mon fields terminated by '\t' ingore 1 lines;
  • 数据修改update:
    • 为字段赋值:update 表名 set 字段名 = 值;

                eg:update fruits set f_name = concat('fruit_',f_name);

  • 数据删除delete:
    • 删除某字段:delete from fruits where f_id = 'b5';

数据库查询

  • select 查询语法

        select <目标列表组> from <数据源表名> where <元组选择条件>

                                                                          group by <分列组> having <组选择条件>

                                                                           order by <排序列1>  <排序要求1>;

  • 多表查询

        将两个以上的数据表通过关键字段连接在一起,并从不同表中选取不同字段进行查询的方法

        select a_list1,a_list2,a_list3,b_list1,b_list2,b_list3,concat(a_list1,b_list1)

                                from a join b on a.key = b.key

  • 内连接:select <sekect_list> from a inner join b on a.key=b.key;
  • 左连接:select <sekect_list> from a left join b on a.key=b.key;
  • 右连接:select <sekect_list> from a right join b on a.key=b.key;
  • 联合查询:select a.* from a union all select b.* from b
  • 全连接查询:

        select * from a left join  b on key1=key2 union select * from a right join  b on key1=key2

  • 子查询:写在()中,把内层查询结果当做外层查询参照的数据表来用

查询操作符

and:用来联合多个条件进行查询,条件与条件之间是“和/且”的意思;

or:用来联合多个条件进行查询,条件与条件之间是“或”的意思;

in:判断某个字段的值是否在指定的集合中,若在指定集合中则满足查询条件,若不在则不满足;

between:判断某个字段的是否在指定的范围内,若在则满足查询条件,若不在则不满足;

like:用来匹配字符串是否相等,如果与指定的字符串相匹配,则满足查询的条件,否则不满足;

is null:用来判断字段的值是否为空值(null),如果为空值则满足查询条件,否则不满足;        

                其中not是可选参数,加上not表示字段不是空值是满足条件。

distinct:用来消除重复记录,达到数据去重作用;

  • 操作符合子查询组合应用

        any:表示满足其中任意一个条件即可

         select * from fruits where id=any

                                         (select id from fruits where price between 10 and 20);

        all:表示满足所有条件才满足:

                select * from fruits where price >all

                                         (select price from fruits where price<=20);

        exist:表示存在:select * from fruits where exist (select * from fruits where price>20);

as:可以将表和字段名重新命名为别的名称使用,只在查询中有效

limit:查询后只显示limit指定数字的行数结果

4、数据库常用函数

  • 数学函数

abs(x)

绝对值
bin(x)二进制(oct返回八进制,hex返回十六进制)
exp(x)e的x次方
greatest(x1,x2,x3,...,xn)最大值
least(x1,x2,x3,...,xn)最小值
ln(x)x的自然对数
log(x,y)x的以y为底的对数
mod(x,y)x/y的模(余数)
pi()pi的值(圆周率)
rand()

0-1内的随机值

可以提供一个参数使随机数生成器生成一个指定值

floor(x)小于x的最大整数值(去掉小数取整)
ceiling(x)大于x的最小整数值(进一取整)
round(x,y)参数x的四舍五入的有y位小数的值(四舍五入)
truncate(x,y)x截短为y为小数的结果
sign(x)数字x的符合值(正数为1,负数为-1,0为0)
sqrt(x)平方根
  • 字符串函数
ascii(char)ascii码值
bit_length(str)字符串的比特长度
concat(s1,s2,...,sn)将s1,s2,...,sn连接成字符串
insert(str,x,y,instr)将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
find_in_set(str,list)如果发现str,返回str在list中的位置
lcase(str)/lower(str)将所有大写字母给为小写
ucase(str)/upper(str)将所有小写字母给为大写
left(str,x)最左边的前x个字符
right(str,x)最右边的后x个字符
length(str)字符长度数
position(substr,str)子串substr在字符串str中第一次出现的位置
quote(str)用反斜杠转义str的单引号
repeat(str,srchstr,rpicstr)str重复x次的结果
reverse(str)颠倒字符str
rtrim(str)去掉字符串str开头的空格
trim(str)去掉字符串str开头和结尾的所有空格
  • 日期及时间函数
date_format(date,fmt)依照指定的fmt格式格式化日期date值
from_unixtime(ts,fmt)依照指定的fmt格式,格式化unix时间戳ts
monthname(date)返回英文月份名(eg:October)
dayname(date)返回英文星期名(eg:Monday)
now()当前日期和时间
curdate()/current_date()当前日期
curtime()/current_time()当前时间
quarter(date)date在一年当中的季度(1-4)
week(date)date在一年当中的第几周(0-53)
dayofyear(date)date在一年当中的第几天(1-366)
dayofmonth(date)date在一个月当中的第几天(1-31)
dayofweek(date)date在一周当中的第几天(1-7)
year(date)年份
month(date)月份
day(date)天数部分
hour(time)小时值
minute(time)分钟值
second(time)秒值
date(datetime)日期值
time(datetime)时间值
  • 逻辑函数
    • 空值函数
      • ifnull(expression,alt_value)
    • 判断函数
      • if(expr1,expr2,expr3)
    • 逻辑表达式
      • case when expr1 then expr2 [when expr3 then expr4 ... else expr] end;
    • 开窗函数
            (1)over()函数:如查看每位员工与公司所有员工的平均工资之间的情况

                                select *,avg(sal) over() 平均工资 from emp;

                (2)partition by 子句:如查询各部门的平均工资

                                select *,avg(sal) over(partition by deptno);   

  • 其他函数
group_concat(col)由属于一组的列值连接组合而成的结果
cast()将一个值转换为指定的数据数据

数据表ER图

E-R图也称实体-联系图(Entity Relationship Diagram),用来描述现实世界的概率模型。


http://www.ppmy.cn/news/625942.html

相关文章

CDA LEVEL 2 建模分析师备考笔记

CDA LEVEL 2 建模分析师备考笔记 目录 CDA LEVEL 2 建模分析师备考笔记 基础理论数据预处理预测型数据挖掘模型描述型数据挖掘模型 基础理论 Data mining&#xff1a;数据挖掘&#xff0c;从现有大量数据中撷取不明显、之前未知、可能有用的知识。 KDD知识发现过程&#xff1a…

【表结构数据】—CDA-LEVEL1备考

目录 大纲 1. 表结构数据 2.事实表&维度表 3.表结构数据特征 3.1 特征一&#xff1a;表 3.2 特征2&#xff1a;所有字段记录行数相同 3.2.1 特征 ​编辑3.2.2 处理缺失值 3.3 特征3&#xff1a;一个表中有且只有一个主键 3.3.1 价值 3.3.2 确定主键 4.表结…

使用Media Player把*.CDA格式转换成*.MP3

第一步:用Windows Media Player打开cda格式文件. 第二步:从Windows Media Player菜单中选择"翻录" 第三步:选中你要翻录的文件——选择“翻录音乐” 第四步&#xff1a;设置格式&#xff08;你要翻录的音频格式MP3&#xff09;、保存位置。 第五步&#xff1a;执…

HL7 CDA笔记

特定域的消息或文档规格说明书能够通过迭代约束RIM到DMIM、RMIM来产生&#xff0c;并产生实施产物&#xff08;XSD&#xff09; HITSP医疗信息技术标准类别 类别 主要标准 数据标准 ICD、SNOMED、LOINC、UMLS 信息内容标准 HL7 CDA、CCD 信息交换标准 HL7 V2、HL7 V3、D…

CDA-Community Data Access规则

CDA-Community Data Access (来源:https://community.hitachivantara.com/s/article/community-data-access) 简介 CDA为多种数据源提供了灵活性&#xff0c;它可以同时连接多个数据源来检索数据&#xff0c;通过API将数据提供给第三方。 主要功能&#xff1a; 通过编辑XML…

常见音频格式大盘点分析

常见音频格式大盘点分析 取样率 指的是每一秒钟取样的数目&#xff0c;其单位为赫兹&#xff08;Hz&#xff09;&#xff0c;通常CD的采样率为44.1 kHz&#xff1b;DAT (Digital Audio Tape) 的采样率为32&#xff0c;44.1 和 48 kHz&#xff0c;其他常见的采样率还有22.05 和 …

多个域名映射一个nginx多个80端口

阿里云多个二级域名&#xff0c;解析到同一个机器外网ip地址&#xff1a; http://demo.xxx.com.cn/ http://yang.xxx.com.cn/ nginx.conf 配置文件&#xff1a; server{listen 80;server_name yang.xxx.com.cn;# 第1个二级域名映射80端口index index.html index.htm index.ph…

2023年最新互联网Java面试八股文出炉(附大厂P5-P8技术栈)

为什么感觉 Java 面试变难了&#xff1f; 几年前&#xff0c;你只需要简单的ssm框架&#xff0c;就能轻松找到一份Java的工作&#xff0c;但现在不一样了&#xff0c;随着涌入这个行业的人越来越多&#xff0c;同一个岗位需要筛选掉更多人&#xff0c;要求自然水涨船高&#x…