×

mysql数据库基础知识是干什么的

mysql数据库基础知识是干什么的(MYSQL的概念)

admin admin 发表于2024-05-24 02:38:36 浏览24 评论0

抢沙发发表评论

大家好,mysql数据库基础知识是干什么的相信很多的网友都不是很明白,包括MYSQL的概念也是一样,不过没有关系,接下来就来为大家分享关于mysql数据库基础知识是干什么的和MYSQL的概念的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

MYSQL的概念

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

MySQL数据库基础+ 数据库的基本操作

需要用的资料以链接的形式给需要的同学。 我用的mysql版本为: Mysql-5.5.45-win64.msi 密码是:26zw 图形化工具 Navicat(前期不推荐用,直接手动敲): Navicat 密码:c7fs 开始我的MySQL之旅吧   始于2016.12.04                                               --WH 一、数据库的安装 这个就不在这里过多阐述了,因为网上实在是太多安装mysql的教程了,有了我给的mysql,在按照这个安装教程(MySQL安装教程)去看,就能够安装完好。 安装好mysql后,如果需要使用windows命令窗口(也就是cmd)来操作mysql,那么就需要配置环境变量,在安装好的mysql下找到bin,将其目录放到环境变量path中去,就行了,检测成功与否的方法是在cmd命令窗口中输入mysql,就会出现一大段英文,就说明成功了,反之失败,如果不会的话就去百度搜教程。 二、数据库的基本操作 1、开启mysql服务命令 net start mysql2、进入mysql的两种方式 明文进入:mysql -uroot -proot  格式:mysql -u帐号 -p密码 密文进入:mysql -uroot -p 按enter会提示你输入密码(Enter pssword:),此时你写的密码就会显示为***这样。3、查看mysql中所有的数据库(一般在固定的单词命令就会是用大写,这个要习惯,看多了敲多了就认识了) 前面四个数据库是mysql中自带的,也就是必须的. SHOW DATABASES;4、创建名为test_1的数据库 格式:CREATE DATABASE 数据库名 CREATE DATABASE test_1;5、删除名为test_1的数据库 格式:DROP DATABASE 数据库名DROP DATABASE test_1;总结:学习了对数据库的三个操作,1、查看所有数据库 2、创建数据库 3、删除数据库 三、数据表的基本操作 数据表和数据库还有Mysql三者的关系 mysql中保存了很多数据库、一个数据库中可以保存很多表。 对数据表的增(创建表)删(删除表)改(修改表字段)查(查询表结构)。 注意:这里的操作对象是表,对表的操作也就是表的结构,和表中的字段的操作(字段和记录要分清楚) 前提:表是在数据库下的,所以要先确实使用哪个数据库。 USE test_1;1、创建数据表 格式:CREATE TABLE 数据表名(    字段名1  数据类型,    字段名2  数据类型,    字段名3  数据类型                );  注意:格式不一定需要这样隔着写,完全可以全部写成一行。但是那样写可观性非常差。我这样写只是为了可以看的更清晰。 解释: 1、中括号中的内容表示可以有可以没有, 2、列级别这个“列”一定要搞清楚说的是什么,一张表中有行有列,列表示竖,行表示横  3、约束条件后面会讲到   1.1、创建没有约束的student表      CREATE TABLE student(           id  INT(11),           name  VARCHAR(12),           age  INT(11)                ); 注释:SHOW TABLES 查询数据库底下的所有表。 1.2、创建有约束的student表    六大约束:主键约束、外键约束、非空约束、唯一约束、默认约束、自动增加 1.2.1:主键约束 PRIMARY KEY(primary key):独一无二(唯一)和不能为空(非空),通俗的讲,就是在表中增加记录时,在该字段下的数据不能重复,不能为空,比如以上面创建的表为例子,在表中增加两条记录,如果id字段用了主键约束。则id不能一样,并且不能为空。一般每张表中度有一个字段为主键,唯一标识这条记录。以后需要找到该条记录也可以同这个主键来确认记录,因为主键是唯一的,并且非空,一张表中每个记录的主键度不一样,所以根据主键也就能找到对应的记录。而不是多条重复的记录。如果没有主键,那么表中就会存在很多重复的记录,那么即浪费存储空间,在查询时也消耗更多资源。 一般被主键约束了的字段度习惯性的称该字段为该表的主键 单字段主键约束   两种方式都可以   CREATE TABLE student(            CREATE TABLE student(     id  INT(11) PRIMARY KEY,          id  INT(11),     name  VARCHAR(12),            name  VARCHAR(12),     age  INT(11)   age  INT(11),   ); PRIMARY KEY(id) ); 多字段主键约束(复合主键)     这个id和name都市主键,说明在以后增加的插入的记录中,id和name不能同时一样,比如说可以是这样。一条记录为id=1,name=yyy、另一条记录为:id=1,name=zzz。 这样是可以的。并不是你们所理解的两个字段分别度不可以相同。   CREATE TABLE student(CREATE TABLE student(     id  INT(11) PRIMARY KEY,            id  INT(11),     name  VARCHAR(12) PRIMARY KEY,       name  VARCHAR(12),     age  INT(11)     age  INT(11),   );        PRIMARY KEY(id,name) ); 1.2.2:外键约束 什么是外键举个例子就清楚了,有两张表,一张表是emp(员工)表,另一张表是dept(部门)表,一个员工属于一个部门,那么如何通过员工能让我们自己他在哪个部门呢?那就只能在员工表中增加一个字段,能代表员工所在的部门,那该字段就只能是存储dept中的主键了(因为主键是唯一的,才能确实是哪个部门,进而代表员工所在的部门,如果是部门名称,有些部门的名称可能是同名。就不能区分了。),像这样的字段,就符合外键的特点,就可以使用外键约束,使该字段只能够存储另一张表的主键。如果不被外键约束,那么该字段就无法保证存储进来的值就一定是另一张表的主键值。 外键约束的特点:   1、外键约束可以描述任意一个字段(包括主键),可以为空,并且一个表中可以有多个外键。但是外键字段中的值必须是另一张表中的主键。   2、这样被外键关联的两种表的关系可以称为父子表或者主从表。子表(从表)拥有外键字段的表,父表(主表)被外键字段所指向的表。   3、子表被外键约束修饰的字段必须和父表的主键字段的类型一样。   注意:一个表中有被外键修饰的字段,就称该表有外键(是“有外键”。而不是“是外键”),并会给该表中的外键约束取一个名称,所以我们常说的这个表有没有外键,指的不是被外键约束修饰的字段名,而是指这个表是否有存在外键约束。也就是说,不能说这个表的外键是xxx(该表中被外键约束修饰的字段名),这种说法是错误的,但是大多数人已经习惯了这样,虽然影响不大,但是在很多时候需要理解一个东西时,会造成一定的困扰。 格式:CONSTRAINT  外键名称  FOREIGN KEY(被外键约束的字段名称)  REFERENCES 主表名(主键字段)     英文解释:CONSTRAINT:约束    REFERENCES:参考    CREATE TABLE tableA(id INT(11),name VARCHAR(22),location VARCHAR(50),PRIMARY KEY(id));CREATE TABLE tableB(id INT(11),name VARCHAR(22) NOT NULL,deptId INT(11),PRIMARY KEY(id),CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id));           解释:tableB中有一个名为tableA_tableB_1的外键关联了tableA和tableB两个表,被外键约束修饰的字段为tableB中的deptId,主键字段为tableA中的id      1.2.3:非空约束 NOT NULL. 被该约束修饰了的字段,就不能为空,主键约束中就包括了这个约束    CREATE TABLE tableA(id INT(11),name VARCHAR(22) NOT NULL,location VARCHAR(50),PRIMARY KEY(id)); 1.2.4:唯一约束 UNIQUE 被唯一约束修饰了的字段,表示该字段中的值唯一,不能有相同的值,通俗点讲,就好比插入两条记录,这两条记录中处于该字段的值不能是一样的。          CREATE TABLE tableA(id INT(11),name VARCHAR(22) UNIQUE,location VARCHAR(50),PRIMARY KEY(id)); 也就是说在插入的记录中,每条记录的name值不能是一样的。 1.2.5:默认约束 Default 指定这一列的默认值为多少,比如,男性同学比较多,性别就可以设置为默认男,如果插入一行记录时,性别没有填,那么就默认加上男 CREATE TABLE table(id INT(11) PRIMARY KEY,name VARCHAR(22) NOT NULL,deptId INT(11) DEFAULT 1111,salary FLOAT); 1.2.6:自动增加   AUTO_INCREMENT 一个表只能一个字段使用AUTO_INCREMENT,并且使用这个约束的字段只能是整数类型(任意的整数类型 TINYINT,SMALLIN,INT,BIGINT),默认值是1,也就是说从1开始增加的。一般就是给主键使用的,自动增加,使每个主键的值度不一样,并且不用我们自己管理,让主键自己自动生成 CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL ); 2、查询表结构                 2.1、查看表基本结构语句                     格式1:DESCRIBE 表名/DESC 表名  这两个的功能是一样的,简写了单词describe                       DESCRIBE student; 2.2、查看创建表的语句     格式:SHOW CREATE TABLE 表名    SHOW CREATE TABLE student;这样显示的格式很不好,看不清楚,所以有了下面这个语句 格式:SHOW CREATE TABLE 表名\G SHOW CREATE TABLE student\G;3、修改数据表       修改数据表包括:对表中字段的增加、删除、修改。 在这个里面用的关键字为 ALTER   3.1、修改表名     格式:ALTER TABLE《旧表名》 RENAME《新表名》;     将student表名改为student1(改完后在改回来)     ALTER TABLE student RENAME TO student1;3.2、修改表中的字段名   格式:ALTER TABLE《表名》 CHANGE《旧字段名》《新字段名》《新数据类型》   将student表中的name字段名改为 username   ALTER TABLE student CHANGE name username VARCHAR(30);3.3、修改表中的数据类型   格式:ALTER TABLE《表名》 MODIFY《字段名》《数据类型》                        ALTER TABLE student MODIFY username VARCHAR(20);解释:只能修改字段名的数据类型,但是其原理跟上面change做的事情一样,这里也有修改字段名的过程,只不过修改后的字段名和修改前的字段名相同,但是数据类型不一样。 3.4、修改字段的排列位置    方式1:ALTER TABLE《表名》 MODIFY《字段1》《数据类型》 FIRST|AFTER《字段2》    解释:将字段1的位置放到第一,或者放到指定字段2的后面    ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;方式2:ALTER TABLE《表名》 CHANGE《字段1》《字段2》《数据类型》 FIRST|AFTER《字段3》  解释:其实是一样的,将是字段2覆盖字段1,然后在进行排序 ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;总结 CHANGE和MODIFY的区别? 原理都市一样的,MODIFY只能修改数据类型,但是CHANGE能够修改数据类型和字段名,也就是说MODIFY是CHANGE的更具体化的一个操作。可能觉得用CHANGE只改变一个数据类型不太爽,就增加了一个能直接改数据类型的使用关键字MODIFY来操作。 3.5、添加字段 格式:ALTER TABLE《表名称》 ADD《新字段名》《数据类型》 解释:在一个特定位置增加一个新的字段,如果不指定位置,默认是最后一个。 ALTER TABLE student ADD sex VARCHAR(11);3.6、删除字段 格式:ALTER TABLE《表名称》 DROP《字段名》; ALTER TABLE student DROP sex;3.7、删除表的外键约束 格式:ALTER TABLE《表名称》 DROP FOREIGN KEY《外键约束名》 注意:外键约束名 指的不是被外键约束修饰的字段名,切记,而是我们在创建外键约束关系时取的名字。 3.8、更改表的存储引擎 格式:ALTER TABLE《表名》 ENGINE=《更改后的存储引擎名》 这个存储引擎目前我自己也不太清楚,虽然知道有哪几种引擎,但是稍微深入一点就不清楚了,所以打算留到日后在说。 4、删除表 4.1、删除无关联表 格式:DROP TABLE《表名》; ALTER TABLE student;4.2、删除被其他表关联的主表 这个是比较重要的一点,在有外键关联关系的两张表中,如果删除主表,那么是删不掉的,并且会报错。因为有张表依赖于他。那怎么办呢?针对这种情况,总共有两种方法 1、先删除你子表,然后在删除父表,这样就达到了删除父表的目的,但是子表也要被删除2、先解除外键关系,然后在删除父表,这样也能达到目的,并且保留了子表,只删除我们不需要的父表。在3.7中就讲解了如何删除外键关系。

mysql数据库是做什么用的

MySQL数据库  MySQL(发音为"my ess cue el",不是"my sequel")是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。  由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。  MySQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。  MySQL开发组计划于2001年中期公布MySQL4.0版本。在这个版本中将有以下新的特性被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MySQL开发着希望提供安全的数据复制机制、在BeOS操作系统上的MySQL实现以及对延时关键字的定期刷新选项。随着时间的推进,MySQL将对ANSI 92/ANSI 99标准完全兼容。   时至今日 mysql 和 php 的结合绝对是完美.很多大型的网站也用到mysql数据库.mysql的发展前景是非常光明的!

MySQL是什么,能做什么

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改

关注优就业,学习更多IT知识。

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

由于MySQL是开放源码软件,对于一般的个人使用者和中小型企业来说,MySQL提供的功能绰绰有余,可以大大降低开发成本。

Linux作为操作系统,Apache或Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。

数据库(mysql)关键知识

Mysql是目前互联网使用最广的关系数据库,关系数据库的本质是将问题分解为多个分类然后通过关系来查询。 一个经典的问题是用户借书,三张表,一个用户,一个书,一个借书的关系表。当需要查询某个用户借书情况或者是书被那些人借了,就用关系查询来实现。

关系数据库范式

来自英文Normal form,简称NF。要想设计—个好的关系,必须使关系满足一定的约束条件,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。总共有六种范式:第一范式(1NF)、第二范式(2NF)、 第三范式 (3NF)、巴斯-科德范式(BCNF)、 第四范式 (4NF)和 第五范式 (5NF,又称完美范式)。

1NF是指数据库表的每一列都是不可分割的原子数据项。2NF必须满足1NF,要求数据库表中的每行记录必须可以被唯一地区分。3NF在2NF基础上,任何非主 属性 不依赖于其它非主属性(在2NF基础上消除传递依赖)。BCNF是在3NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖), 满足BCNF不再会有任何由于函数依赖导致的异常,但是我们还可能会遇到由于多值依赖导致的异常。4NF的定义很简单:已经是BC范式,并且不包含多值依赖关系。5NF处理的是无损连接问题,这个范式基本没有实际意义,因为无损连接很少出现,而且难以察觉。而域键范式试图定义一个终极范式,该范式考虑所有的依赖和约束类型,但是实用价值也是最小的,只存在理论研究中。

Catalog和Schema

是数据库对象命名空间中的层次,主要用来解决命名冲突的问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等)。但是Mysql的数据库名就是Schema,不支持Catalog。

Mysql的数据库引擎主要有两种MyISAM和InnoDB,MyISAM支持全文检索,InnoDB支持事务。

SQL中的通配符‘%’代表任意字符出现任意次数。‘_’代表任意字符出现一次。SQL与正则表达式结合查询一般用在WHERE table_name REGEXP ’^12.34’。子查询是从里到外执行。

数据库联结(join)涉及到外键,外键是指一个表的列是另一个表的主键,那么它就是外键。笛卡尔积联结(不指定联结条件时)生成的记录条目是单纯的第一个表的行乘以第二个表的列数。用得最多的是等值联结也叫内部联结。

高级联结还有自连接,是指查询中的两张表是同一张表,它通常作为外部语句用来代替从相同表中检索数据时使用的子查询。自然联结使每个列只返回一次。外部联结是指联结包含了那些在相关表中没有关联行的行。例如列出所有产品及其订购数量,包括没有人订购的产品。LEFT OUTER JOIN指选择左边表的所有行。

组合查询是指采用UNION等将两个查询结果取并集。

视图是查看存储在别处的数据的一种工具,它本身并不包含数据,因此表的数据修改了,视图返回的数据也将随之修改,因此如果使用了复杂或嵌套视图会对性能有较大的影响。视图的作用之一是隐藏复杂的SQL通常会涉及到联结查询。

存储过程类似于批处理,包含了一条或多条SQL语句。语法:

CREATE PROCEDURE name() BEGIN SQL END ------------------------- CALL name()//来调用存储过程

游标有DECLARE定义,游标与存储过程是绑定的,存储过程处理完成,游标就会消失。游标被打开后可以使用FETCH语句访问每一行。

触发器是在某个时间发生时自动执行某条SQL语句。语法: CREATE TRIGGER name AFTER INSERT ON talbe_name FOR EACH ROW

事务处理可以维护数据库的完整性,保证批量的操作要么完全执行,要么完全不执行。包括事务、回退、提交、保留点几个关键术语。ROLLBACK只能在一个事务处理内使用。他不能回退CREATE和DROP操作。使用COMMIT保证事务提交。复杂的事务处理需要部分提交或回退,因此我们需要使用保留点SAVEPOINT。可以使用ROLLBACK TO savepoint_name。保留点越多越好。保留点在事务执行完成后自动释放。

关于本次mysql数据库基础知识是干什么的和MYSQL的概念的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。