美文网首页
MySQL 数据库

MySQL 数据库

作者: kohlgrx | 来源:发表于2018-12-22 19:17 被阅读0次

一、E-R关系模型

1、Entry 实体

2、Relationship 关系

3、一个实体转换为数据库中的一个表

4、关系描述两个实体之间的对应规则:一对一,一对多,多对多

二、数据库的3范式

            1NF :列不可拆分

            2NF:唯一标识

            3NF:引用主键

            说明:后一个范式都是在前一个范式的基础上建立的。

三、数据完整性

    1、数据字段的类型:int,decimal,char,varchar,text,datetime,bit

        eg:decimal(5,2) 一共包含五位数,小数占两位

        char和varchar的区别:char字符数固定,不够会自动补齐;varchar字符可变

    2、数据字段的约束;primary key,not null,unique,default,foreign key

五、命令脚本操作

MySQL命令    

eg:

    select gender,count(*) from Student group by gender having gender=1;

    select * from Student where gender=1 and isDelete=0 order by desc;

执行顺序

六、高级

1、关系

        foreign key(stuid) references Student(id),建立外键

        外键级联操作

        restrict(限制):默认值,抛异常

        cascade(级联):如果主表的记录删除,则从表中的相关联的记录都被删掉

        set null:将外键设置为空

        no action:啥都不干

2、连接查询

3、自关联

        create table areas(

        aid int primary key,

        atitle varchar(20),

        pid int,

        foreign key(pid) references areas(id)

    );

4、视图

        视图的本质就是对查询的一个封装,用途就是查询

        create view stuscore as                                                                                                                                        select students.*,scores.score from scores inner join students on                                                                        scores.stuid = students.id

5、事务

        1>当一个业务逻辑需要多个SQL完成时,如果其中的某条SQL语句出错,则希望整个操作都退回,例如:转账问题;

        2>使用事务可以完成退回功能,保证业务逻辑的正确性

        3>四大特性(ASID)原子性,隔离性,一致性,持久性

        4>要求:表的类型必须是innodb或者bdb类型

        查看表的创建语句:show create table students;

        修改表的类型:alter table “表名” engine = innodb;

        事务语句:

        开启 begin;提交 commit;回滚 rollback;

6、索引

        show index from tablename;

        create index indexname on mytable(username(length))

        drop index [indexname] on table;

相关文章

网友评论

      本文标题:MySQL 数据库

      本文链接:https://www.haomeiwen.com/subject/zikwkqtx.html