关系数据库管理系统(Relational Database Management System, RDBMS)是一种极为重要的工具,其应用十分广泛,从商业、科研和教育领域里的应用,到基于因特网(Internet)的内容发布,无处不在。在过去,数据库系统给人的印象一直是价格昂贵。因为为了满意的性能表现,数据库引擎对计算机硬件通常有很高的要求,从而导致整个成本变高。
但是,伴随着各种免费开源工具的发展,获取数据库软件已经不在是什么难事,而且很多开源数据库系统还是免费的。其中最重要的就是M有SQL,这是一套源自Scandinavia的SQL“客户端/服务器”关系数据库管理系统。
MySQL早期广泛受到欢迎的原因在于快速、简单。但缺少特性,比如事务支持和外键支持。随着MySQL的不断发展,其不仅增加了这些特性,并且还增加了其他许多的特性,如复制、子查询、存储例程等。MySQL的优点如下:
-
运行速度:MySQL的运行速度非常快,并且在默认存储引擎为InnoDB之后和查询优化方面。
-
易用性:MySQL是一个相对简单、高性能数据库系统。
-
功能性:MySQL的服务器支持多线程,因此允许多个客户端同时和它进行连接。
-
连接性与安全性:MySQL完全支持网络化,用户可以从因特网上的任何地点访问数据库,MySQL还有控制访问功能,还提供了SSL协议加密的连接.
-
可移植性强:不仅能在window上,还可以运行在各种版本的Unix和Linux系统上
-
可用性和成本低:开源,大部分内部使用是免费的。
-
数据库(DataBase)是一个用来存储信息的仓库
-
数据库里的数据集都被组织成表
-
每个表由多个行(row)和列(column)组成
-
表中的每一行称为一条记录(record)
-
记录可以包含多项信息;表里的每一列对应于其中的一项
-
-
管理系统(Management System)是一个软件,我们可以通过它来插入(insert)、检索(retrieve)、修改(modify)或者(delete)记录。
-
关系(Relational)一词表示这是一种特殊的DBMS,其长处在于通过查找两个表里的共同元素,将分别存放于两个表里面的信息联系起来
对于MySQL数据库的安装以及用户创建在此不做过多描述,直接进入基本SQL语句的使用
创建数据库 :Create database 表名;Create database sampdb;
创建表:
CREATE TABLE president (
last_name VARCHAR(15) NOT NULL,
first_name VARCHAR(15) NOT NULL,
suffix VARCHAR(15) NULL,
city VARCHAR(15) NOT NULL,
state VARCHAR(2) NOT NULL,
birth DATE NOT NULL,
death DATE NULL
) ENGINE = InnoDB;
创建表用CREATE TABLE 表名(列名称 类型 是否可空,...);这是最简单的创建表的方式,其中还有很多细节并没有列入,但现在只要知道,一张表到底是如何创建的就可以。
添加新行-- 创建student表
CREATE TABLE student (
name VARCHAR(20) NOT NULL,
sex ENUM('F', 'M') NOT NULL,
student_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (student_id)
) ENGINE=INNODB;
-- 利用INSERT添加行
insert into student values('Kyle', 'M', null);
-- 查看表里的内容
select *from student;
insert into 表名 values()就是表示往某一张表里接加入数据,但是括号里面的顺序应该表当时创建时的顺序实现一致。
检索信息比如上面的select *from student;其结果如下
也就是查出了student表中的全部内容,因此买也可以得到查询的一般模板
select 需要什么(a)
from 哪张表(b)
where 筛选条件(c);
a.应该都能理解,比如说需要某一张表中的列,把列表写出
b.说明数据来源于哪一张表
c.筛选出符合条件的值,比如说student中的sex,当需要筛选出为'M'的,就可以加入筛选条件
这个是最简单的筛选语句,其实这个检索语句后面还可以加上很多东西,比如order by--即按照什么进行排序,还有limit,限制输出几行,或者一个范围,还有as,对列名进行重命名,like 对某列的值进行匹配,正确的输出等等。但是这都是比较简单的,只要掌握了基本的,写出select语句还是比较简单,关键在于思想。
删除已有行delete from 表名
where 筛选条件;
这个比较好理解,在此就不在重复
更新已有行update 表名
set 那些列需要改变
where 筛选条件
这里举个例子
update student set name = 'George';
这就是把name列更新为'George'。
总结