数据库基础

数据库设计流程:

1. 需求分析:了解用户对系统的需求,包括数据需求和业务处理需求

2. 概要设计:根据用户需求绘制E-R图

3. 逻辑结构设计: 将E-R图转化为多张表,确认表的主外键,并应用数据库设计的三大范式进行审核,对其优化。

数据库设计三大范式:

1. 第一范式:确保每列保持原子性。确保数据库表中所有的字段值都是不可分解的原子值。

2. 第二范式:确保每列都和主键相关。确保每列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。

3. 第三范式: 确保每列都与主键列直接相关,而不是间接相关。

基础SQL:

1. 对数据库命令:DROP  CREATE ALTER

2. 对表的命令: SELECT INSERT UPDATE DELETE

3. 数据控制;

        GRANT: 赋予用户权限

        REVOKE: 取消用户权限

        COMMIT: 确认数据库中的数据进行的变更

        ROLLBACK:取消数据库中的数据进行的变更

4. LIKE 模糊查询: show databases like '%test%'  查看数据库名中有test的数据库

5. 日期格式:DATE:YYYY-MM-DD 没有时间   TIME:HH:MM:SS仅有时间

                      DATETIME和TIMESTAMP:YYYY-MM-DD HH:MM:SS  前者8个字节后者4个字节

6. BLOB:二进制字符串主要存储图片、音频等数据。

7. 建表时添加外键约束: CONSTRAINT 约束名 FOREIGN KEY (字段名) REFERENCES 另一个表(字段名)

8. 删除外键约束:ALTER TABLE 表名 DROP FOREIGN KEY 约束名;

9. 展示表的字段信息: DESC 表名。 展示创建表的SQL语句: SHOW CREATE TABLE 表名

10.  联合主键的:PRIMARY KEY[字段1,字段2,...]

操作表中数据:

1.  DISTINCT关键字去重。 SELECT DISTINCT 字段名 FROM 表名;

2.  LIMIT 初始位置,记录数  或者 LIMIT 记录数

3.  ORDER BY 字段名 ASC|DESC  升序|降序

        ORDER BY后面可以跟一个字段,也可以跟多个字段。多个字段的话就是先按照前面字段顺序排列。

4.  条件查询:多条件查询(AND OR XOR, 其中XOR表示满足其中一个条件并且不满足另一个条件时会被查询)

5. 模糊查询: LIKE ,  NOT LIKE。 其中%通配符匹配任意长字符串, _匹配单个字符

6. 单独使用GROUP BY关键字时,查询结果会只显示每个分组的第一条记录

    GROUP_CONCAT()函数会把每个分组的字段值都显示出来,

     例:select sex group_concat(name) from students group by sex;

    此外group by 常与聚合函数一起使用,如 count(),sum(),avg(),max(),min(). 

7. HAVING分组过滤。where是查询前过滤,having是查询后过滤。having侧重过滤分组,可配合聚合函数使用。

8. CROSS JOIN交叉连接,两个表的笛卡尔积。

    INNER JOIN内连接,通过设置连接条件的方式,来移除查询结果中某些数据行的交叉连接。如果后面没有ON子句与交叉连接等价。 select 字段名 from 表1 inner join 表2 on 条件。

    LEFT/RIGHT JOIN 左连接/右连接。一个表为基表,一个表为参考表,查询与基表相关数据。

9. 子查询 :   WHERE 表达式 操作符 (子查询)   表达式和操作符有一个就行

     操作符包括: IN、NOT IN、 EXISTS、 NOT EXISTS

     表达式: =  <>  

     在from后面的子查询要给定一个别名

视图、索引:

1.  视图是一种虚拟存在的表,有行和列构成但并不真实存在于数据库中。

2.  视图的创建: CREATE VIEW  视图名 AS SELECT语句;  

     视图名必须是唯一的。

     查看视图的字段信息: DESC 视图名;   SHOW CREATE VIEW 视图名;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值