• 数据库基础的知识点


     数据库系统基础:
    一、数据库:存储数据的仓库
    二、数据库能够做什么:
    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.外键

  • 相关阅读:
    人工智能芯片支持超低功耗器件的推理
    新十年嵌入式音频的五大趋势
    面向汽车应用的硬件推理芯片
    MySQL优化技巧总结
    JAVA集合类汇总
    为什么HashMap初始大小为16,为什么加载因子大小为0.75,这两个值的选取有什么特点?
    ztree 树状图——例
    amazeUI表单提交验证--input框required
    bigcolorpicker 颜色拾取器插件——例
    博客园-去掉皮肤
  • 原文地址:https://www.cnblogs.com/a1111/p/12815934.html
Copyright © 2020-2023  润新知