数据库基础的知识点

 数据库系统基础:
一、数据库:存储数据的仓库
二、数据库能够做什么:
1.存储大量的数据,方便检索和访问。
2.保持数据的信息一致、完整
3.共享和安全
4.通过组合分析,产生新的有用信息。
三、应用程序和数据库的关系
应用程序——》发送一个请求到数据库–》数据库返回操作数据结果
应用程序:
作用:响应操作并显示结果,向数据库请求数据
要求:美观、操作简便
数据库:
作用:存储数据、检索数据、形成新的数据
要求:统一、安全、性能
四、时下流行的数据库:
1.Oracle:产品免费、服务收费
2.SQL Server:版本多,易用性好,只支持windows操作系统
3.DB2:支持多操作系统的使用,使用范围不大
4.Mysql:免费的,使用范围特别广
五、实体:客观存在,可以被描述的事物。
六、数据库表中的行:代表一条记录
数据库表中的列:代表一个字段
七、数据库是由表组成,表是由行(记录)和列(字段)组成。
字段–》记录–》表–》数据库–》服务器
八、数据库数据的操作:添加数据、修改数据、查询数据、删除数据
九、安装数据库。
十、创建数据库:
数据库文件包含:
1.数据文件:后缀是.mdf
2.日志文件:后缀是.ldf
十一、分离数据库:
当数据库需要移动或者删除的时候,就得使用分离
分离数据库的方法:右击数据库–》任务–》分离–》确定
十二、附加数据库:
当从别的地方拷贝数据库到本机时,需要使用附加
附加的方法:右击“数据库”–》附加–》添加数据库文件(mdf)–》确定
 用表组织数据:
一、数据库的完整性大多数是由设计的时候引起的。
二、可靠性+准确性=数据完整性
三、数据库的四种完整性约束:
1.实体完整性约束
2.域完整性约束
3.引用完整性约束
4.自定义完整性约束
四、数据库数据的数据类型:
1.char:字符类型,一般用于单个字符的,比如性别
2.varchar:字符串类型,一般用于姓名,身份证号
3.text:长文本类型,一般用于文章等
4.datetime:日期类型,比如出生日期,创建时间
5.数字类型:int和float。
int:整数类型,一般用于年龄
flaot:小数类型,一般用于身高,分数。
6.货币类型:money,一般用于金钱
五、主键
1.一个表的主键只有一列组成
2.尽量选择单个键作为主键
3.尽量选择更新数值较少的列作为主键
 用SQL数据操作数据:
一、sql是什么:
1.结构化查询语言
2.在什么情况下使用:
(1)对sqlserver执行所有操作的时候
(2)对程序进行增删改查的时候
3.sql组成:
(1)DML数据操作语言,insert update delete
(2)DCL数据控制语言,grant remoke
(3)DQL数据查询语言,select
(4)DDL数据定义语言,create drop
4.sql 中的运算符:
(1).算术运算符
“+”:两个数相加
“-”:两个数相减
“*”:两个数相乘
“/”: 两个数相除
“%”:两个数相除取余数
(2).赋值运算符
“=”:将一个数或者变量或者表达式赋值给另一个变量。
eg:name=“李四”;
(3).比较运算符
“>”, “<”, “=”, “>=”, “<=”, “!=”(不等于)

	(4).逻辑运算符and:并且or:或者not:非

二、T-SQl语句
1.注释:–
2.查询表中的全部数据:
select * from [表名]
3.插入数据:
insert into 表名(列名) values(值);
插入数据的注意事项:
(1)标识列不能显示的插入值。
(2)所有的括号、单引号、逗号都必须是英文的。
(3)列名的个数必须要和值的个数一致。
(4)表里面的列名必须要和插入语句的列名一致。
(5)列名可以省略,但是值的个数必须和列名相对应(除了标识列)
(6)如果字段有默认值,那么在值的地方写default就可以
(7)如果字段的类型是varchar,datetime,char类型时,所对应的值必须要用英文的单引号括起来,如果字段的类型是int,float,所对应的值不需要使用单引号
(8)一定要选择需要操作的数据库(下拉列表里面)

4.附加数据库出现的问题及解决方法:1.问题:附加时报错。2.解决方式:(1)右击放数据库的文件夹--》属性--》只读对勾去掉--》点击安全--》编辑--》设置所有的权限为完全控制。
5.插入数据的错误以及解决方法:问题:(1)对象名无效(2)列与值的数目不匹配(3)附近有语法错误解决:(1)选错数据库(2)检查写的列与写的值是否一一对应(3)检查逗号,单引号是不是英文的。
6.修改:update 表名 set 列='值' where 列='值'
7.删除:delete from 表名 where 列='值'

 数据查询基础:
一、查询流程:
1.客户端–》请求一条查询语句–》数据库–》返回查询结果
二、导出数据库脚本:
1.选中数据库–》右击–》任务–》生成脚本–》下一步–》选择存放路径–》高级–》选择架构和数据–》下一步–》确定。
三、查询的语法:
select 列名
from 表名
where 查询条件表达式
order by 排序方式
四、使用别名查询信息
select 列名 as 别名,列名 as 别名 from 表名
where 查询条件
五、查询空值:
select 列名 from 表名 where 列名 is null
六、查询返回限制的行数(查询前10条记录)
select top 10 列名 from 表名 where 查询条件
七、查询20%的数据
select top 20 percent 列名 from 表名
八、查询排序:
升序:
select 列名 from 表名 order by 列名 asc
降序:
select 列名 from 表名 order by 列名 desc
注意:1.默认是升序(asc)
2.只能升序和降序数值类型的数据
3.order by必须放在最后
九、在查询中使用的函数:
1.len():返回给定字符串的长度
eg:select len(‘男’),输出1
2.getDate():返回当前系统日期
eg:select getdate(),输出2018-12-6-10:35:156
 模糊查询和聚合函数:
一、模糊查询:
1.关键词:like
2._代表:一个字符,eg:like ‘c’,查询的结果是三个字,中间必须是c
3.%代表:多个字符,eg:like ‘%张’,查询的结果是张结尾的,前面可以是任意多个。
4.[]代表:一个指定范围,eg:like [1-2],查询的结果是1-2范围的值
5.[^]代表不在指定范围的记录。
6.between……and:查询已知的两个值之间的未知值。
语法:
select 列名 from 表名 where 列名(分数) between 60 and 90
意思是:查询分数在60-90之间的学生信息
7.使用in在列举值内进行查询:
语法:
select 列名 from 表名 where in(‘值1’,‘值2’)
eg:select * from student where Address in (‘山西吕梁’,‘学生宿舍’)
意思是:只查询地址为山西吕梁的和学生宿舍的学生信息
8.is null:
查询指定列名为空的信息
 连接和分组查询:
一、分组查询:
1.语法:select 列名 from 表名 where 条件 group by 分组的列 order by 列名 排序方式(asc/desc)
2.多列分组的语法:
select 列名1,列名2 from 表名 where 条件 group by 分组的列1,分组的列2 order by 列名
3.分组的注意事项:
(1)除聚合函数所在的列之外,from前面的列必须和group by 子句的列一一对应。
(2)order by 后面可以跟聚合函数,eg:order by sum(result) desc,按照总分数降序显示
4.分组筛选:
(1)having:先分组在筛选
(2)语法:
select 列名 from 表名 group by 列名
having 筛选条件
order by 排序方式
(3)查询顺序:
where -->group by -->order by
(4)查询的语法:
select 列名 from 表名 where 条件 group by 分组列 having 筛选列 order by 排序列
二、连接查询:
1.内联接:
语法:select 列名 from 表名1,表名2
select 列名 from 表名1 join 表名2 on 表名1.外键 = 表名2.外键
2.外联接:
需要显示哪个表的全部信息,然后观察这个表在左边还是右边,左边的话用左外链接,右边的话用右外连接
(1)左外联接
查询左表的全部数据
select 列名 from 表1 left join 表2 on 表1.外键=表2.外键
(2)右外联接
查询右表的全部数据
select 列名 from 表1 right join 表2 on 表1.外键=表2.外键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net core源码飘香:Logging组件

简介&#xff1a; 作为基础组件&#xff0c;日志组件被其他组件和中间件所使用&#xff0c;它提供了一个统一的编程模型&#xff0c;即不需要知道日志最终记录到哪里去&#xff0c;只需要调用它即可。 使用方法很简单&#xff0c;通过依赖注入ILogFactory&#xff08;CreateL…

互联网账户系统如何设计

转载自 互联网账户系统如何设计 在很多互联网公司业务发展的早期&#xff0c;业务模式比较单一的情况下&#xff0c;涉及用户账户资金交易相关的逻辑也比较简单&#xff0c;但是随着公司业务模式的不断创新及类型的多元化发展&#xff0c;会渐渐发现现有系统账户逻辑越来越雍…

html、sqlserver、java基础总结

1.锚链接&#xff1a;<a name"maker1" id"marker2">乙位置</a><a href"#marker1、#marker2">甲位置</a> 2.块级元素和行内元素&#xff1a;块级元素&#xff1a;<li></li> <p></p> <td>…

数组(ArrayList)底层怎样扩容

ArrayList维护了数组transient Object[] elementData; 初始化 数组需要扩容时

HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题

问题&#xff1a;Hbase在集群上运行报错&#xff1a;NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求&#xff1a;HBase使用Java创建表&#xff0c;打包成jar&#xff0c;提交到集群上行运行&#xff01; 在IDEA中使用Maven添加Hbase 代码&#xff1…

Visual Basic 15语言新特性

对于C#的两个重要特性元组和Ref返回值&#xff0c;Visual Basic 15提供了对等的实现。这两个特性都是“不完全的”&#xff0c;但已经可以提供足够的变通方案&#xff0c;让VB应用程序可以消费使用了这些特性的C#库。 元组 在VB中&#xff0c;从单个函数调用直接返回多个值是…

Struts2面试问题

转载自 Struts2面试问题 1.什么是Struts2&#xff1f; Apache Struts2是一个用Java构建Web应用程序的开源框架。Struts2基于OpenSymphony WebWork框架。它从Struts1中得到了很大的改进&#xff0c;使其更加灵活&#xff0c;易于使用和扩展。Struts2的核心组件是Action&…

java、sqlserver复习

一、java简答题&#xff1a; 1.java中我们学过的数据库类型转换有几种&#xff1f;分别是什么&#xff1f;转换规则是什么&#xff1f; 答&#xff1a;两种&#xff0c;自动类型转换和强制类型转换。 源类型大于目标类型时&#xff0c;需要自动转换。 源类型小于目标类型时&…

新版csdn

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来&#xff0c;用它写博客&#xff0c;将会带来全新的体验哦&#xff1a; Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰…

玩转微信登录

前端对此接口进行请求 package com.chuang.bootplus.controller.wx;import com.alibaba.fastjson.JSONObject; import com.chuang.bootplus.entity.UserInfo; import com.chuang.bootplus.service.UserInfoService; import com.chuang.bootplus.utils.HttpClientUtil; import …

谷歌工程师文化中的几个核心原则

转载自 谷歌工程师文化中的几个核心原则 每周&#xff0c;一组谷歌员工都会在厕所的墙壁上粘贴一页来分享本周的测试小建议。有时这页纸会讨论依赖注入&#xff0c;并提供一个简单的示例展示如何用不同语言使用它&#xff1b;有时它可能会分享如何安装一个用于测量团队代码库…

初探CSRF在ASP.NET Core中的处理方式

前言 前几天&#xff0c;有个朋友问我关于AntiForgeryToken问题&#xff0c;由于对这一块的理解也并不深入&#xff0c;所以就去研究了一番&#xff0c;梳理了一下。 在梳理之前&#xff0c;还需要简单了解一下背景知识。 AntiForgeryToken 可以说是处理/预防CSRF的一种处理…

双重循环

一、什么是二重循环&#xff1f; 一个循环体内包含另一个完整的循环结构。 比如说&#xff1a; 1.while(循环条件1){ //循环操作1 while(循环条件2){ //循环操作2 } } 2.do{ //循环操作1 do{ //循环操作2 }while(循环条件2); }while(循环条件1); 3.for(循环条件1){ //循环操作1…

二维数组常用的赋值方式

静态初始化并赋值 int[][] data new int[][] { { 1, 2 }, { 2, 3 }, { 2, 3, 4 }, { 1, 2, 3, 4 } };print(data);int edges[][]{{0,1},{1,2},{1,3},{2,4},{3,4},{2,5}};动态赋值 //动态赋值int[][] data2 new int[3][2];for (int i 0; i < data2.length; i) {for (int j…

HBase体系架构说明

HBase体系架构说明&#xff01; client&#xff1a;两种—-Hbase shell 命令行接口 JavaAPI client访问Region不能直接访问&#xff0c;首先client需要先连接到zookeeper&#xff0c;zookeeper管理HMaster&#xff0c;说明&#xff0c;hdfs集群&#xff0c;在没有zookeepe…

面试中的这些坑,你踩过几个?

转载自 面试中的这些坑&#xff0c;你踩过几个&#xff1f; 01、请你做一个自我介绍 误区&#xff1a; 一般人回答这个问题过于平常&#xff0c;只说姓名、年龄、爱好、工作经验&#xff0c;这些在简历上都有。 要点&#xff1a; 简历上有的可以一两句话带过&#xff0c;…

asp.net core 编译mvc,routing,security源代码进行本地调试

因为各种原因&#xff0c;需要查看asp.net core mvc的源代码来理解运行机制等等&#xff0c;虽说源代码查看已经能很好的理解了。但是能够直接调试还是最直观的。所有就有了本次尝试。因调试设置源代码调试太辍笔&#xff0c;所以不用这个方法&#xff0c;转而使用编译源代码的…

并查集判断是否有环存在

题目描述 思路分析 代码实现 package com.atguigu.disjointSet;public class djset {public static int VERTICES6;public static void initialise(int parent[]){int i;for (i 0; i < VERTICES; i) {parent[i]-1;}}public static int find_root(int x,int parent[]){int …

进入ASP .net mvc的世界

一、mvc执行流程&#xff1a; 启动mvc项目–>Global.asax–>App_Strat–>RouteConfig–>Controllers(控制器)–>View(视图)–Index.aspx 二&#xff1a;Controller&#xff0c;控制器的代码&#xff0c;包含动作方法和业务操作 三&#xff1a;View&#xff0c;…

Visual Studio 2017更新,侧重于提高稳定性

Microsoft已对其旗舰开发软件产品Visual Studio 2017&#xff08;VS2017&#xff09;的安装程序和设置引擎做了全新设计&#xff0c;意在能快速地部署更新到VS2017。VS2017的第一个命名版本更新在VS2017首发的一个月后就可用&#xff0c;这充分体现了这一全新设计的优势所在。 …