数据库
学习
学习Mysql首先需要一个mysql数据库,和一个Navicat Premium(mysql图形界面编辑工具)。mysql数据的安装是很简单的,在官网给选择合适的版本下载之后,直接解压在默认文件夹下就行。至于图形界面编辑工具有些安装报自带,有些没有,没有的话就需要在网上自行下载,无脑安装就行了。
然后就是一些mysql dba的学习了。首先要了解数据库的概念:它就是用来存储大型数据的,里面放着表,视图,存储过程等。其中最重要的就是表,它就和Excel表格类似,但是它有着自己独特的限制(单元格不能合并),它可以存储成千上万的表信息,方便大型项目数据的存储。如图中红色标记的部分就是一些表。
其次就是学习建表,删表,改表语句:Alter table 语句修改表的结构 Alter table 表名 modify 列名 列类型 Alter table 表明 add 列明 列类型 Alter table 表名 drop 列名 Alter table 表名 change 旧列名 新列名 列类型。(这些语句可以在图形化界面工具点击新建查询,输入语句之后点击运行就可以执行了) 同时也可以通过图形化界面工具直接完成,如图所示。
其次就是学习一些简单的SQL语句。查询语句,增加语句,修改语句,删除语句。其中增删改都比较简单,就是查询语句比较复杂一点。增加:insert into table (字段名) values( 数据);修改 update table set 字段名 = 数据 where 条件;删除 delete from table where 条件;查询语句就比较复杂了:基础:select * from table where 条件;select * from table where 条件 group by xx(分组)select 聚合函数 from table where 条件;还有一些子查询,内连接 外连接,这些需要学习到入门的时候,再进一步研究。可以在网上找一些题目进行联系,我在图中会给一些题目。这些操作在数据库安装好之后根据其中默认的四张表就能完成。
最后就是学习mysql的一些约束,外键,索引,视图。五类完整性约束 删除Not null 约束 not null Unique Alter table 表名 modify 列名 类型 Primary key 删Unique primarykey foreignkey约束 Foreign key Alter table 表名 drop index Check 对某列的值进行范围限制,格式限制等 primary key (My sql 的check约束并不起作用) foreign key 创建外键 foreign key 子表外键列名 feferences 主表主键列名 (MySQL 中的外键关系支队innodb型表有效) 左外连接和右外连接返回有啥不同? /*一般大的表放左边的话,左外连接会返回第一张表的所有数据,再把满粗条件的数据右边补,不满足的补空。右外连接的话只会显示满足条件的数据。小表则相反。*/ 弱智说法 左外连接查询返回的是左表的全部信息加上满足条件的交集信息,其余补空。右外连接查询返回的是右表的全部信息加上满足条件的交集信息,其余补空。 索引?普通索引 Alter table A add index 索引名(列名);唯一索引 Alter table A add unique index 索引名(列名);主键索引 创建表时创建 或者第二种方式。 全文索引 全文索引的类型为fulltext 只限于char varchar 和text 类型的列。create fulltext index on 列名。Alter table A add fulltext index on 列。 视图?视图view是从一张表或几张基本表中根据用户需要而生成一张虚表。(视图是虚表,只存储视图的定义,并没有存储对应的数据)。 create or replace view as select ~~~;
最后还得了解一下存储过程,触发器 ,事务。存储过程的优点存储过程可以重复使用,减少开发人员的工作量。可以设定使用权限,提高安全性。 存储过程的定义?存储过程是一组为了完成某个逻辑功能的SQL语句集,经编译过后存储在数据库里面,用户通过指定的存储过程名字和参数执行它。 触发器?触发器是一个特殊的存储过程,它不是由程序调用,也不是手工启动。而是由某个事件触发它执行。例如当对一个表进行操作时,触发器就执行了。DML触发器 表数据变化时 就会触发这个触发器。DDL触发器。 表结构发生变化时,就会触发这个触发器。登陆触发器 。 响应login事件触发的。 数据库事务的特性?原子性,独立性,一致性,持久性。数据库管理系统采用重执行日志来保证原子性,一致性,持久性。数据库管理系统采用数据库锁机制来实现隔离性。
还有就是数据库备份,直接图形界面工具导出SQL和新建备份就行。
希望对你们有所帮助。