数据库基础的知识点

简介: 数据库基础的知识点

 数据库系统基础:

一、数据库:存储数据的仓库

二、数据库能够做什么:

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.外键

相关文章
|
6月前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
391 3
|
存储 SQL 数据管理
数据库系统概论 ---- 第一章 -- 绪论(重要知识点)
数据库系统概论 ---- 第一章 -- 绪论(重要知识点)
数据库系统概论 ---- 第一章 -- 绪论(重要知识点)
|
SQL 存储 Java
Java数据库编程知识点总结
Java数据库编程知识点总结
78 0
|
6月前
|
SQL 存储 Java
Java数据库编程知识点总结
【4月更文挑战第6天】Java数据库编程涉及使用JDBC API与关系型数据库交互。关键知识点包括:JDBC作为标准API用于数据库访问;加载驱动并用DriverManager建立数据库连接;掌握SQL语句的编写与执行;使用PreparedStatement和CallableStatement执行预编译SQL及存储过程;ResultSet处理查询结果;理解事务管理确保数据一致性;批处理优化多SQL执行;连接池提升性能稳定性;以及异常处理如SQLException和ClassNotFoundException的捕获。
48 6
|
5月前
|
SQL 数据库
sql数据库练习题(涵盖大部分知识点)
sql数据库练习题(涵盖大部分知识点)
|
5月前
|
存储 关系型数据库 MySQL
mysql数据库练习题(涵盖几乎所有知识点)
mysql数据库练习题(涵盖几乎所有知识点)
|
6月前
|
SQL Oracle 关系型数据库
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
|
存储 SQL 人工智能
数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)
数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)
|
存储 SQL Oracle
数据库知识点
数据库知识点
|
存储 SQL 数据处理
合工大数据库测试知识点整理
合工大数据库测试知识点整理
69 0