数据库基础的知识点

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

数据库系统基础:


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


二、数据库能够做什么:


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,能为面试和实际工作中的大数据处理提供坚实基础。
384 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数据库所有知识点总结整理,含代码(挺全的)
|
6月前
|
SQL 存储 安全
数据库基础的知识点
数据库基础的知识点
|
存储 SQL 人工智能
数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)
数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)
|
存储 SQL Oracle
数据库知识点
数据库知识点