mysql数据库主要负责存储_MySql数据库基础及IDE

一、基础操作--sql语句

启动MySQL:service mysql start

停止MySQL:service mysql stop

重启MySQL:service mysql restart

进入数据库:mysql -uroot -p

导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

创建数据库:

(1)、create database 数据库名称 字符集;

(2)、create schema 数据库名称 字符集

创建数据库,如果不存在就创建,存在的话不会报错但不会去创建数据库:

create database if not exists 数据库名称 字符集;

(3)、schema和database区别:

在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL Server和Orcal数据库中好像又不一样. 目前我只能理解,在mysql中 schema<==>database。

切换(进入)数据库:use 数据库名称;

删除数据库:drop database 数据库名称;

修改数据库字符集:alter database 数据库名称 字符集;

查看(展示)所有数据库:show databases;

筛选查找数据库并展示:show database like "db%" -->表示筛选展示以db开头的所有数据库

数据库帮助命令:help 命令关键字;

二、修改数据库默认储存引擎

数据库引擎有:ISAM、MyISAM、MEMORY、BLACKHOLE、 ARCHIVE、 InnoDB等等......

查看所有储存引擎:show engines;

查看数据库默认储存引擎:show variables like 'default%';

修改默认储存引擎:

(1)、在根目录/etc/mysql 下打开MySql配置文件my.cnf(或者mysqld.cnf.d/mysqld.cnf文件里)

(2)、在[mysqld]下添加设置默认储存引擎命令

default-storage-engine=InnoDB

(3)、重启数据库以后就可以正常使用了:service mysql restart;

三、IDE集成开发环境是什么?

简述:IDE(Integrated Development Environment),集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

四、MySql数据库系统自动创建的四张表是什么?

information_schema:

信息数据库,它提供了访问数据库元数据的方式,元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。

mysql:

核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。

performance_schema:

mysql 5.5 版本 新增了一个性能优化的引擎: PERFORMANCE_SCHEMA这个功能默认是关闭的:

需要设置参数: performance_schema 才可以启动该功能,这个参数是静态参数,只能写在my.ini 中 不能动态修改。

sys:

通过这个库可以快速的了解系统的元数据信息。

这个库确实可以方便DBA发现数据库的很多信息,解决性能瓶颈都提供了巨大帮助。

这个库是通过视图的形式把information_schema 和performance_schema结合起来,查询出更加令人容易理解的数据。

存储过程可以执行一些性能方面的配置,也可以得到一些性能诊断报告内容。

存储函数可以查询一些性能信息。

五、关系、关系模型、关系模式?

名词解释:

数据:数据就是数据库中存储的基本数据,比如学生的学号、学生的班级

数据库:存放数据的仓库

数据库管理系统:数据库软件,如MySQL、Oracle

数据库系统:数据库+数据库管理系统+应用程序+数据库管理员(大佬)

实体:客观存在的对象,比如一个学生,一位老师

属性:实体的特性,比如学生的学号、姓名、院系

码:可唯一标识实体的属性集。比如学号是学生的码,一个学号唯一标识一名学生。学号和课程号是成绩的码,因为学号和课程号唯一标识一门课程的成绩

实体型:对实体的描述,比如学生(学号,姓名,院系)

实体集:实体的集合

联系:实体集之间的关系。一名学生对应一个寝室(一对一),一个院系对应多名学生(一对多),多位教师对应多名学生(多对多)

关系:若干元组的集合,说白了就是指数据库表

关系模式:对关系的描述称为关系模式,最后会详细描述

关系模型:若干关系的集合,也就是一个数据库

属性(关系):相对于前面的属性的意义,这里特指数据库表中的某列

元组:一条数据库记录

分量:元组中某一属性值

域:一组具有相同数据类型的值的集合,是属性的取值范围,比如性别属性的域就是{男,女},学生学历属性的域就是{学士、硕士、博士、院士}

候选码:可唯一标识某一元组的属性组,属性组中各个属性缺一不可。【t_student】(学号,姓名,学院),姓名可能会重复,所以其中学号可以唯一标识一条记录,学号就是t_student的候选码。那么假设姓名不会重复,那么候选码就有学号和姓名两个。 又比如【t_grade】(学号,课程,成绩),其中一个学生可以有多条成绩记录,所以需要学号和课程号组合才可以唯一标识一条数据库记录,所以学号、课程号就是t_student的一个候选码。

超码:只要一个属性组可以唯一标识一个元组,那么就说这个属性组是超码 【t_student】(学号,姓名,学院),姓名可能会重复,所以(学号)是一个超码同时也是候选码,(学号,姓名)可唯一标识一个元组,所以其也是超码,但不是候选码,因为少了姓名也可以唯一标识。

主属性:候选码中的属性称为主属性。【t_student】(学号,姓名,学院),学号就是主属性

非主属性:不是主属性就是非主属性呗。【t_student】(学号,姓名,学院),姓名、学院就是非主属性

全码:极端情况下表的所有属性组成该表的候选码,则称为全码

主键/主码:primary key,一个表可能有多个,往往选中一个作为主键

外键/外码:foreign key,假设表A的某个属性attr是另一表B中的主码,且A和B有某种联系,则称attr是外码

参照表:外码所在的表

被参照表:外码所引用(foreign key references)的表

数据完整性:数据完整性就是指数据的正确性和相容性(符合逻辑),又分为实体完整性、参照完整性、用户自定义完整性

实体完整性:主码唯一且不为空

参照完整性:不允许引用不存在的实体。参照表插入某条记录,这条记录的外码在被参照表中必须存在

用户自定义完整性:由用户自定义的数据约束。比如性别只能用男、女表示,人的年龄在0-120之间。常见的用户自定义完整性有NOT NULL,UNIQUE,CHECK等

内模式:对数据库的物理存储结构和存储方式的描述,是数据库在数据库内部的存储方式。拿MySQL来讲,每建一个表,都会在文件系统上生成一个或多个文件,这些文件存储了数据、表信息、索引信息,这就称为内模式

模式:对内模式的抽象,即数据库

外模式:对模式的抽象,即用户直接使用的应用程序

外模式-模式映像:保证数据的逻辑独立性。当模式改变时(增加表,增加表的结构),可以保证外模式不变

模式-内模式映像:保证数据的物理独立性。当内模式改变时(比如MySQL切换了存储引擎),可以保证模式不变,从而外模式也不会变。

关系模式

关系模式是对关系的描述(有哪些属性,各个属性之间的依赖关系如何),模式的一个具体值称为模式的一个实例。模式反应是数据的结构及其联系,是型,是相对稳定的,实例反应的是关系某一时刻的状态,是值,是相对变动的。

想要查看t_student的关系模式?DESC t_student

想要查看t_student的关系实例?SELECT * FROM student

另外,关系模式有约定的数学表示,R(U,D,DOM,F),R指关系名,U指一组属性,D指域,DOM指属性到域的映射,F就是指数据依赖。举个栗子,假设一个学生表t_student,拥有属性学号,姓名,性别,学院,其数学表示如图。

96d1573546b6?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

关系模式例图

六、InnoDB、MyIsam区别?

简述:基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值