知了堂_0基础MySQL入门教程

1、什么是数据库

数据库管理软件,数据库相当于是一个文件系统,只不过我们要通过命令(SQL语言)来操作这个文件系统

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

Mysql是开源的,所以你不需要支付额外的费用。

Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

MySQL使用标准的SQL数据语言形式。

Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。

MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

2、数据库作用

储存数据,数据的仓库,带有访问权限限制不同人的不同操作

3、为什么要学习数据库

1、生活所迫(哈哈)2、后台取到数据进行处理封装,交给前端去展示

4、常见数据库

常见关系型数据库(描述实体和实体之间的关系):MySQL,Oracle(收费,适用于大型电商网站),mariadb(mysql开源版本的一个分支),db2(IBM公司的,银行系统大多使用),SQL server(Windows里面。**网站)NOSQL非关系型数据库(key:value):mongodb,redis

5、其他小知识

1、什么是服务器 就是一台电脑,这台安装相关的服务器软件,这些软件会监听不同的端口,根据用户访问的端口号,提供不同的服务

2、数据库相关工具之Navicat

Navicat是一套快速、可靠并价格相当便宜(当然有破解的)的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。

3、数据库相关工具之PowerDesigner

通俗的说PowerDesigner就是个建模工具(设计数据库),提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。

4、安装和卸载卸载:

(1)打开控制面板,删除软件

(2)删除MySQL安装目录的所有文件:cProgram filesmysql

(3)删除mysql数据库存放文件:cProgramDaraMYSQL

二、MySQL的分类

1.DDL( Data Definition Language)

1、概念 DDL数据定义语言,定义数据库,数据表他们的结构:create,drop,alter,show 2、实例

crud数据库1、数据库创建:create database 数据库2、查看数据库定义:show create database 数据库3、查看正在使用的数据库:select detabase( )4、修改数据库:alter database character set 字符集5、删除数据库:drop database 数据库6、选中数据库:use 数据库名

2、DML(Database Manipulation language)

概念:主要用来操作表中的数据:insert,delete,update 注意:delete(一条一条删除表中的数据,如果数据少用这个删除效率高);truncate(先删除表再重建表,数据很多的话用这个效率比较高效)

3、DQL(Database Query language)

注意:用的最多 select

select和where后面可以跟的一些小跟班:

1、排序:order by2、聚合函数:sum()等等注意:where后面不能接聚合函数如下面的就可以(子查询):select * from product where price >(select avg(price) from product)3、判断空:is null,is not null4、分组:Group by编写顺序与执行顺序: 1、编写顺序: s...f..w..G..H..O:Select..from...where...Group by..Having..order by 2、执行顺序: F..W..G..H..S..O:from....where...group by...having..select..order by

4、DCL(Database Control language)

数据控制语言:定义访问权限,取消访问权限,安全设备:grant

三、多表操作

1、会创建多表及多表的关系

多表之间的关系如何维护:

外键约束(foreign key)给一个表添加外键约束:alter table 表2 add foreign key(cno)references 表2(cid)(给表1的cno字段添加外键约束为表2的cid字段)添加了外键如何删除:要先删除表2中对应的字段,在去删除表一要删除的字段

多表之间的建表原则

建库原则:通常情况下,一个项目/应用建一个数据库一对多:在多的一方添加一个外键,指向一的一方多对多:多建一张中间表,将多对多的关系折成一对多的关系,中间表至少要有两个外键:这两个外键分别指向原来那张表,原来的表和这个中间表的关系是一对多的关系一对一: 第一种方式:将一对一的情况,当作是一对多情况处理,在任意一张表添加一个外键,并且这个外键唯一指向另外一张表 第二种方式:直接将两张表合并成一张表 第三种方式:将两张表的主键建立起连接,让两张表里面主键相等主键约束及唯一约束: 主键约束:默认不能为空,唯一,外键都是指向另外一张表的主键,主键一张表只有一个 唯一约束:列面的内容,必须是唯一,不能出现重复情况,为空,唯一约束不可以作为其他表的外键,可以有多个唯一约束

2、多表查询

内连接: 隐式内连接:select * from product p,user u where P.ID | Truly Identity = U.ID 显式内连接:select * from product p INNER JOIN user u ON P.ID | Truly Identity = U.ID(查询出来的结果是交集)

外连接: 左外连接(LEFT OUTRT JOIN):会将左表的所有数据查询出来,如果右表没有对应的数据,用null代替

右外连接(RIGHT OUTRT JOIN):会将右表的所有数据查询出来,如果左表没有对应的数据,用null代替分页查询: 格式:limit 起始索引,显示几页 起始索引算法:startIndex=(index-1)*3子查询:sql的嵌套

从事java开发,在工作中SQL是必备技能,小伙伴大家加油吧!

总结

本文为大家分享了MySQL的基本概念,MySQL的分类(四类),MySQL的多表操作(多表之间关系如何建立,多表之间的查询),还有其他问题,欢迎探讨交流。

打开APP阅读更多精彩内容