数据库基础的知识点

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

 数据库系统基础:
一、数据库:存储数据的仓库
二、数据库能够做什么:

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