数据库快速入门

article/2025/8/19 23:04:37

数据库快速入门

目录

数据库快速入门

1. 数据库基础知识入门

2. Postgre数据库介绍

3. 数据库入门操作

3.1常用命令

3.2 数值类型

3.3 数据运算符

4. 常用函数介绍

4.1 常用函数介绍

4.2 自定义函数

5 数据库索引和视图介绍

5.1 数据库索引介绍

5.2 数据库视图介绍

6. 数据的插入、更新和删除

6.1 简单数据插入操作

6.2 批量数据插入操作

6.3 数据更新操作

6.4 数据删除操作

7. PostgreSQL数据表主键和外键、约束


 

1. 数据库基础知识入门

  • 数据库表:一系列二维数组的集合。
  • 数据类型:整数、浮点数、日期时间、字符串、二进制数据。

         

  • 数据库系统构成
    • 数据库
    • 数据库管理系统
    • 数据库应用程序
  • SQL语言:对数据库进行查询和修改操作语言
    • DDL: 数据库定义语言,DROP、CREATE、ALTER等语句
    • DML: 数据库操作语言,INSERT、UPDATE、DELETE语句
    • DQL: 数据库查询语言,SELECT等语句
    • DCL: 数据库控制语言,GRANT、REVOKE、COMMENTY、ROLLBACK等语句
  • 常用数据库访问技术
    • ODBC: 开放数据库连接
    • JDBC:  Java数据库连接
    • ADO.NET
    • PDO: PHP 语言访问数据库技术

 

2. Postgre数据库介绍

  • 关系型数据库
  • PostgreSQL主要特点
    • 免费
    • 速度快
    • 平台可移植性
    • 丰富的接口
    • 面向对象特性
    • 安全性(MD5、SSL等)
    • 配合的开源软件很多
  • Postgre和MySQL

3. 数据库入门操作

3.1常用命令

create datanbase db_test; create database db_test with owner = postgres encoding = 'utf-8';--创建数据库alter database db_test rename to db_test1;alter database db_test connection limit 30;--数据库修改drop database db_test;--数据库删除create table student(
in integer,
name varchar(30),
birthday date,
score numeric(5,2)
);--创建数据表alter table student rename to student1;--修改数据表名称alter table student rename id to bh;--修改数据表字段名alter table student alter column name type varchar(40);--修改数据表字段类型alter table student add column address varchar(100);--增加数据表字段drop table student;--删除数据表drop table if exists student;--删除数据表语法

 

3.2 数值类型

  • 整数类型
    • SMALLINT    //小范围整数,取值范围-32768-+32768
    • INT
  • 任意精度浮点数类型
    • REAL       //6位十进制数字精度
    • NUMERIC(M,N)
  • 日期和时间类型
    • TIME : 只用于一日内时间 ,举例 :10:10:09
    • DATE: 只用于日期,举例: 1988-02-03
    • TIMESTAMP:日期和时间,举例: 1992-02-08 10:19:20
  • 字符串类型
    • char(n)  固定长度字符串,不足补空白
    • varchar(n)  变长字符串,有长度限制
    • text  变长字符串,无长度限制
create table temp(x smallint,y int,z real,n numeric(4,2));insert into temp values  (2,3,2.55,6.88)insert into temp values  (2,3,2.55,60.888)select * from temp;---数值类型create table temp1(t time,d date,tm TIMESTAMP);insert into temp1 values ('10:05:05', '2015-12-11','2013-02-02 10:10:10')select * from temp1;--时间类型create table temp2(ch char(10),vch varchar(20),t TEXT);insert into temp2 values ('1234567','abcdefg','1234567');select * from temp2;select concat('(', ch , ')') ,concat('(', vch , ')') ,concat('(', t , ')') from temp2--字符串类型(注意concat的使用方法)
  • 选择正确的数据类型(主要目的:优化存储,提高数据库性能)

    • 正确使用整数类型和浮点数类型

    • 日期和时间类型

    • CHAR和VARCHAR之间的特点和选择

3.3 数据运算符

  • 算数运算符
    • 加减乘除
    • 求余 %
  • 比较运算符
运算符作用
=

等于

<>(!=)

不等于

>=

大于等于

<=小于等于
>大于
<小于
LEAST在有两个或者多个参数时,返回最小值
GREATEST在有两个或者多个参数时,返回最大值
BETWEEN AND判断一个值是否落在两个值之间
IN判断一个值是否时IN列表中的任意一个值
LIKE通配符匹配

 

  • 逻辑运算符
    • NOT
    • AND
    • OR
	select 3+1 ,8-3 ,9*8,9/4, 8%3;--算数运算符select 1=0, '2'=2,'b'='b',null =null ,null =1;select 'jaden'<>'jade' , 1<>2;select 1 between 0 and 2, 4 between 2 and 1;select 2 in ('2','21','34');select 'abc' like 'a%' , 'abc' like '_b_' , 'abc' not like '%d';--比较运算符select '1', not 'Y', not 'N', not '0';select '1' and 'y', '1' or '0','0' or 'n';--逻辑运算符

 

4. 常用函数介绍

 

4.1 常用函数介绍

  • 函数的作用
  • 常用的数值函数
函数名称函数作用
AVG()返回某列的平均值
COUNT()返回某列的行数
MAX()

返回某列的最大值

MIN()返回某列的最小值
SUM()获取子串函数

 

 

  • 常用的字符串函数

函数名称

函数作用
LENGTH(s)

计算字符串长度

CONCAT(s1,s2,...)字符串合并函数
LTRIM(s)/RTRIM(s)/TRIM(s)删除字符串空格函数
REPLACE(s,s1,s2)字符串替换函数
SUBSTRING(s,n,len)获取子串函数

 

  • 常用的日期和时间函数
函数名称

函数作用

EXTRACT(type from d)获取日期的指定型函数
CURRENT_DATE获取当前日期函数
CURRENT_TIME获取当前时间函数
NOW()获取当前日期时间函数

4.2 自定义函数

  • 创建函数的语法
    • 基本语法格式:
CREATE FUNCTION                 //声明创建函数ADD(INTEGER,INTEGER)        //定义函数名称,参数类型
RETURNS integer                 //定义函数返回值AS 'select $1 + $2;'        //定义函数体
LANGUAGE SQL                    //用以实现函数的语言的名字
RETURN NULL ON NULL INPUT;      //定义参数位NULL时的处理情况
  • 函数的创建
    • create or replace function
  • 函数的删除
    • drop function

5 数据库索引和视图介绍

5.1 数据库索引介绍

  • 索引的作用
  • 索引的分类
    • B-tree索引:适合处理那些能够按顺序存储数据
    • Hash索引: 只能处理简单的等于比较
    • GisT索引:一种索引架构
    • GIN索引:反转索引,处理包含多个值的键
  • 索引的创建和删除
    • create index x_index on temp(x);
    • drop index x_index;
  • 使用索引的优点和缺点
    • 优点:
      • 提高数据的查询速度
      • 加速表与表之间的连接
    • 缺点
      • 创建和维护索引需要耗费时间
      • 需要占用磁盘空间

5.2 数据库视图介绍

  • 视图的含义
  • 视图的创建
    • CREATE VIEW TEST1 AS SELECT...
  • 视图的删除
    • DROP view test1;
  • 视图的作用
    • 简单化
    • 安全性
    • 逻辑数据独立性

 

6. 数据的插入、更新和删除

6.1 简单数据插入操作

 

create table student(id int,name varchar(30),birthday date,score numeric(5,2)
);insert into student values(1 , '张三' ,'1990-01-01' , null);insert into student(id ,name , birthday) values (2,  '李四' ,'1993-08-27');select * from student;

 

6.2 批量数据插入操作

 

--继续向表中插入数据insert into student (id , name , birthday) values
( 3 , 'xiao7' , '2000-02-02' ),
( 4 , 'xiao8' , '2000-02-02' ),
( 5 , 'xiao9' , '2000-02-02' );--使用select 查询语句向数据表中插入数据insert into test1 select * from student;

6.3 数据更新操作

update student set name = '王5' where id = 2;update student set score = 0;

6.4 数据删除操作

--数据删除操作delete from student where id =4; delete from student where birthday between '2000-03-03' and '2000-04-04';--truncate清空表truncate table student;--delete和truncate区别
truncate执行速度快
truncate不可指定条件
truncate不可以回滚
truncate不记录删除操作记录日志

7. PostgreSQL数据表主键和外键、约束

  • 如何定义主键约束:
    • 主键就是数据表中唯一的不重复的字段。
    • 主键唯一
create temp(id int primary key;name varchar(30);salary nyumeric(9,2)  
);create table temp1(id int,name varchar(30),salary numeric(9,2),constraint pk_temp1 primary key(id)
);
  • 如何定义外键约束
    •  
  • 主键和外键的作用
    • 主键:
      • 唯一标识一条记录
      • 提高数据的检索效率
    • 外键
      • 保证数据的完整性
      • 提高数据的检索效率
  • 非空约束
    • not null
  • 唯一约束
    • unique
  • 默认值约束
    • default 0.0
  • 约束作用
    • 维护数据的完整性
    • 在业务层面保证数据正确性

 


http://chatgpt.dhexx.cn/article/KQk3ZTaj.shtml

相关文章

计算机类书籍大全

空降百度网盘: 链接&#xff1a;https://pan.baidu.com/s/1yG198vf_xxBUKW2q-aYm4A 提取码&#xff1a;sll1

爬虫之 爬取京东计算机书籍

爬取京东的计算机类书籍 1. 工具&#xff1a; requests, pycharm, scrapy, mongodb 2. 网页提取工具: xpath 1. 分析京东网页: 打开京东网站 查看源码发现不是动态网页&#xff0c;而且都是列表, 说明了很好处理&#xff1b;开始分析; 我们只要提取书名&#xff0c;书的链…

计算机专业必读哪些经典书籍?

大家好&#xff0c;我是狗哥。 经常有粉丝问&#xff1a;狗哥&#xff0c;我想学计算机&#xff0c;应该读哪些书籍&#xff1f;那么多计算机书籍&#xff0c;我如何选&#xff1f;&#xff0c;今天狗哥就把自己的书单发出来&#xff0c;供大家参考&#xff0c;并附上连接&…

国家电网计算机类备考经验分享

刚刚参加完国家电网计算机类23届的笔试和面试&#xff0c;笔试78&#xff0c;为了给备考国家电网计算机类的小伙伴提供一些有用的信息&#xff0c;给大家分享一个经验贴。本文分为4部分。分别为&#xff1a;个人情况、复习时间线、所用书籍、经验分享。希望这篇文章可以解决小伙…

计算机专业必读的经典书籍!!(建议收藏)

第一个系列&#xff1a;基础 要说哪些书是计算机的经典书籍&#xff0c;我猜很多人都要推荐机械工业出版社引进的黑皮书系列了&#xff0c;你就看吧&#xff0c;每一本都很适合垫显示器垫桌角&#xff0c;垫显示器这个其实只不过是一个调侃而已&#xff0c;之所以这么说&#…

可以看计算机专业书籍的app,分享两个好用的读书APP

分享我现在用的2个读书APP&#xff1a;微信读书和藏书馆。建议不要装太多读书APP&#xff0c;装得越多&#xff0c;使用越分散&#xff0c;反而读得越少。 1.微信读书 优点&#xff1a; AI朗读&#xff0c;边听边走&#xff1b; 分享互动&#xff0c;思维膨胀&#xff1b; 读书…

计算机视觉经典书籍推荐

计算机视觉是人工智能的一个分支&#xff0c;主要研究如何使机器“看”的科学&#xff0c;通俗来说就是用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉&#xff0c;并进一步做图形处理&#xff0c;使电脑处理成为更适合人眼观察或传送给仪器检测的图像。 无人机技…

计算机专业必读的经典书籍

书单推荐 一、计算机思维 《数学之美》 推荐理由: 吴军博士文笔流畅、干货满满&#xff0c;同时切合实际应用&#xff0c;可以作为计算机科学&#xff08;尤其是AI领域&#xff09;的入门读物 《程序员的数学》系列 推荐理由: 程序员需要一定的数学知识&#xff0c;但不是像高…

CentOS防火墙的常用快捷命令

CentOS是免费开源的Linux发行版之一,它兼容RHEL并由社区进行维护,大多数美国服务器提供对该系统支持。在使用CentOS系统时,您需要了解一些常用命令,比如开启、查看、关闭防火墙等。本文将介绍下CentOS防火墙的常用命令。 CentOS是一种面向企业级服务器环境的Linux发行版,…

linux防火墙状态centos5,怎么样查看centos防火墙状态

你想查看下centos防火墙的状态吗?要怎么样查看呢?你下面由学习啦小编给你做出详细的查看centos防火墙状态方法介绍!希望对你有帮助! 查看centos防火墙状态方法一&#xff1a; 直接使用iptables -L查看防火墙设置 service iptables stop关闭防火墙 service iptables start/res…

Ubuntu/Centos防火墙

区分Linux、Ubuntu、Centos的防火墙&#xff1a; Linux原始自带的防火墙工具iptables Ubuntu的防火墙工具ufw Centos的防火墙工具firewalld ----------------------------------------------------------------------------------------------------- Ubuntu默认使…

​CentOS防火墙操作命令 ​

CentOS防火墙操作命令 1、查看防火墙服务状态 systemctl status firewalld.service 或者查看防火墙的状态&#xff1a; 1 firewall-cmd --state 2、开启、重启防火墙 启动firewall&#xff1a; 1 systemctl start firewalld.service 设置开机自启或禁用&#xff1a; …

centos防火墙管理

防火墙管理 查看防火墙状态 [root107 ~]# firewall-cmd --state 开放、关闭端口 # firewall-cmd --zonepublic --add-port3306/tcp --permanent # 开放3306端口 # firewall-cmd --zonepublic --remove-port3306/tcp --permanent #关闭3306端口 # firewall-cmd --reload…

Centos 防火墙开启/关闭端口

Centos 防火墙开启/关闭端口 Centos 6 开启/关闭端口查看防火墙状态命令的方式写入iptables文件的方式 Centos 7 开启/关闭端口查看firewall服务状态查看firewall的状态开启、重启、关闭、firewalld.service服务查看防火墙规则查询、开放、关闭端口关于防火墙拦截FTP的问题cent…

转:Centos防火墙设置与端口开放的方法

转自&#xff1a; Centos防火墙设置与端口开放的方法_tianxin的专栏-CSDN博客Centos升级到7之后&#xff0c;内置的防火墙已经从iptables变成了firewalld。所以&#xff0c;端口的开启还是要从两种情况来说明的&#xff0c;即iptables和firewalld。更多关于CentOs防火墙的最新…

【Linux】CentOS防火墙操作:开启端口、开启、关闭、配置

&#x1f536; 基本使用 启动&#xff1a; systemctl start firewalld 关闭&#xff1a; systemctl stop firewalld 查看状态&#xff1a; systemctl status firewalld 开机禁用 &#xff1a; systemctl disable firewalld 开机启用 &#xff1a; systemctl enable firewal…

CentOS 防火墙配置(firewall)

​ 常用的防火墙配置命令&#xff1a; 查看所有防火墙规则&#xff1a; firewall-cmd --list-all-zones查看当前区域防火墙规则&#xff1a; firewall-cmd --list-all添加一个开放服务规则&#xff1a; firewall-cmd --add-servicessh删除一个开放服务规则&#xff1a; firewa…

Centos 防火墙介绍

目录 一、防火墙基本介绍 二、iptables(Centos6) 2.1、介绍 2.2、相关命令 三、firewalld(Centos7) 3.1、介绍 3.1.1、zone分类及相关命令 3.1.2、预定义的服务 3.2、相关命令 3.2.1、服务安装 3.2.2、服务启停命令 3.2.3、firewalld规则添加 3.3、富规则 一、防火…

常用 Git 工作流,明确团队的开发流程

借鉴的git工作流程模型&#xff1a;A successful Git branching model 下文的 Git 工作流是一些在开发团队中非常流行和最佳的工作流的示例。也有一些团队为预发布创建分支&#xff0c;并且该分支非常适合他们。所以你可以参考这些工作流&#xff0c;然后创建自己的 Git 工作流…

sourceTree中git工作流使用

1.初始化 2.构建feature分支 3.完成新功能 ####4.建立发布版本 完成发布