MySQL入门
MySQL是什么?
MySQL是最流行的关系型数据库管理系统,在web应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
什么是关系型数据库
数据库中的记录是有行有列的数据库就是关系型数据库,与之相反的就是NoSQL数据库了。
为什么试用MySQL?
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL的安装
l 安装
参考MySQL安装图解.doc
l 配置MysQL服务
启动和关闭(必须以管理运行cmd命令窗口)
登录
格式1:cmd> mysql –u用户名 –p密码
例如:mysql -uroot –proot
格式2:cmd> mysql --user=用户名 --host=ip地址 --password=密码
SQL的使用
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言;
SQL分类:
数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户;关键字:grant等
数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等
插入记录:insert
语法:
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
insert into 表 values (值1,值2,值3..); --向表中插入所有列
insert into 表 (列名1,列名2,列名3..) values select (列名1,列名2,列名3..) from 表
insert into 表 values select * from 表
删除记录:delete
语法:
delete from 表名 [where 条件];
更新记录:update
语法:
update 表名 set 字段名=值,字段名=值;
update 表名 set 字段名=值,字段名=值 where 条件;
SQL查询:
条件查询: where
排 序: order by (asc升序,desc降序)
分 组: group by , having
聚合函数: sum(),avg(),max(),min(),count()
执行顺序:
1. FROM(将最近的两张表,进行笛卡尔积)---VT1
2. ON(将VT1按照它的条件进行过滤)---VT2
3. LEFT JOIN(保留左表的记录)---VT3
4. WHERE(过滤VT3中的记录)--VT4…VTn
5. GROUP BY(对VT4的记录进行分组)---VT5
6. HAVING(对VT5中的记录进行过滤)---VT6
7. SELECT(对VT6中的记录,选取指定的列)--VT7
8. ORDER BY(对VT7的记录进行排序)--游标
9. LIMIT(对排序之后的值进行分页)
多表之间的关系
-
- 一对多:最常用的关系,如部门和员工
- 多对多:学生选课表和学生表,一门课程可以有多个学生选择,一个学生选择多门课程
- 一对一:相对使用比较少,员工表,公民表,护照表
一对一:一张表的一条记录一定只能与另外一张表的一条记录进行对应;反之亦然。
一对多:一张表中有一条记录可以对应另外一张表中的多条记录;但是反过来,另外一张表的一条记录只能对应第一张表的一条记录。这种关系就是一对多或者多对一。
多对多:一张表中(A)的一条记录能够对应另外一张表(B)中的多条记录;同时B表中的一条记录也能对应A表中的多条记录:多对多的关系。