数据库小总结

目录

一、认识数据库

二、数据库设计

三、数据定义

四、数据操作

六、数据视图

七、索引与分区


一、认识数据库

数据库管理系统是数据库系统的核心,数据库系统实际上是指引入数据库技术的计算机应用系统,数据、数据库、数据库管理系统与操作数据库的应用开发工具、应用程序以及与数据库有关的人员一起构成了一个完整的数据库系统。

sql是结构化的语言,容易学习。

Mysql数据库的超级管理员名称:voot

断开MySQL服务器的命令:quit

MySQL服务器的配置文件名是my.ini

二、数据库设计

数据库关系模型:1:1,1:n,m:n

第一范式:每个数据项都不能拆分成两个或两个以上的数据项,即数据库表中的字段都是单一属性的,不可再分。

第二范式:如果一个表已经满足了第一范式,而且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段,那么该数据表满足第二范式。

第三范式:如果一个表已经满足了第二范式,而且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,那么该数据表满足第三范式。

三、数据定义

创建数据库:CREATE DATABASE或CREATE SCHEMA

打开数据库:USE+数据库名

修改数据库:ALTER {DATEBASE | SCHEMA} 数据库名

[[DEFAULT] CHARACTER SET 字符集名

| [DEFAULT] COLLATE 校对规则名]

删除数据库:DROP DATEBASE 数据库名

创建表:CREATE TABLE 表名

数据类型:NULL | NOT NOT NLL

DEFAULT:默认值

ENGINE=存储引擎

管理数据表

ADD [COLUMN] 列名 [FARST | AFTER 列名]  /*添加列*/

{SET DEFAULT 默认值| DROP DEFAULT}   /*修改默认值*/

DROP [COLUMN] 列名  /*删除列*/

RENAME [TO] /*新表名*/

数据完整性约束分为:实体完整性、域完整性、引用完整性及用户定义的完整性。

完整性类型

约束类型

描述

约束对象

域完整性

DEFAULT

当使用INSERT语句插入数据时,若已经定义默认值的列没有提供指定值,则将该默认值插入记录中

CHECK

指定某一列可接受的值

实体完整性

PRIMARYKEY

每行记录的唯一标识符,确保用户不能输入重复值,并自动创建索引,提高性能,该列不允许使用控制

UNIQUE

在列集内强制执行值的唯一性,防止出现重复值,表中不允许有两行的同一列包含相同的非空值

引用完整性

FOREIGN KEY

定义一列或几列,其值与本表或其他表的主键或UNIQUE列相匹配

表之间

定义主键:PRIMARY KEY(唯一性)

自增主键:PRIMARY KEY AUTO_INCREMENT

外键:FOREIGN KEY

四、数据操作

数据插入:INSERT INTO 表名

  VALUES() | SET列名={}

数据修改:UPDATE 表名+WHERE条件

多数据修改:UPDATE 表名列表+WHERE条件

数据删除:DELETE FROM 表名+WHERE(单个表)

DELETE FROM 表名1.*表名2、、、 FROM 表名列表+WHERE(多个表)

     TRUNCATE TABLE 表名(清除表数据语句)

五数据查询

SELECT 输出列表达式 FROM 表名 +WHERE(条件)

SELECT 列名 [AS] 别名 /*定义列别名*/

CASE        /*替换查询结果中的数据*/

        WHEN 条件1 THEN 表达式1

        WHEN 条件2 THEN 表达式2

        ELSE 表达式n      

END

消除结果集中的重复行:SELECT DISTINCT 列名

WHERE <判定运算>

模式匹配:表达式 LIKE 表达式(模糊查询,"_" :一个字符," %":多个字符)

范围比较:表达式 BETWEEN 表达式1 AND 表达式2(也可以用来做查询,用于WHERE条件语句中)

空值比较:表达式 IS [NOT] NULL

多表查询:FROM 表名1 别名1,表名2 别名2、、、

                  JOIN子句

多表连接:全连接、内连接、外连接(左、右)

JOIN子句:表名1 INNER JOIN 表名2

                表名1 {LEFT | RIGHT} JOIN 表名2

                        ON 连接条件

IN子查询:表达式 [NOT] IN (子查询)

联合查询:SELECT 语句1 UNION [UNION A选项] SELECT 语句2

分类汇总排序

        COUNT(表达式)         /*计数*/

        MAX(表达式)             /*求最大值*/

        MIN(表达式)             /*求最小值*/

        SUM(表达式)             /*求和*/

        AVG(表达式)             /*求平均值*/

GROUP BY+{列名 | 表达式} [ASC(降序) | DESC(升序)](用来分组和排序)

HAVING 子句:HAVING +条件

(在GROUP BY子句后选择行,有GROUP BY 不一定要有HAVING,但是有HAVING就一定要有 GRORP BY)

ORDER BY子句:ORDER BY {列名| 表达式| 列编号} [ASC(降序) | DESC(升序)]

LIMIT子句:LIMIT{[偏移量,] 行数(返回的行数)|行数 OFFSET 偏移量}

六、数据视图

        创建视图:

                        CREATE [OR REPLACE] VIEW 视图名[(列名列表)]

                                AS SELECT 语句

                                        [WITH [CASCADED |LOCAL] CHECK OPTION]

        查询视图:SELECT 列名、、、

                                FROM 表名;

        删除视图:DROP VIEW [IF EXISTS]

                                视图名1,视图名n、、

        

七、索引与分区

       普通索引(INDEX)、唯一性索引(UNIQUE )、主键(PRIMARY KEY)、全文索引 (FULLTEXT)

        创建索引:CREATE [UNIQUE | FULLTEXT] INDEX 索引名(在表中必须是唯一)

                           ON 表名(列名[(长度)] [ASC | DESC]···)

        ALTER TABLE 表名

        ADD INDEX [索引名] (列名,···)        (添加普通索引)

       ADD PRIMARY KEY [索引名] (列名,···)         (添加普通索引)

        ADD  UNIQUE [索引名] (列名,···)         (添加主键索引)

        ADD FULLTEXT [索引名] (列名,···)         (添加全文索引)

        

        CREATE TABLE 表名(列名,···| 索引项) (在创建表时创建索引)

        

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡匹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值