一、 基本概念
数据:描述事物的符 记录
数据库(DB:Data Base):长期存储在计算机内,有组织的,可共享的大量数据的集合。基本特点:永久存储、有组织、可共享。
我们平时所说的数据库是指 保存有组织的数据的容器,通常是一个文件或一组文件。
数据库管理系统(DBMS):数据库管理软件,负责数据库的创建和维护。
我们并不直接访问数据库,而是通过使用DBMS软件,间接的操纵数据库。
表(table):某种特定类型数据的结构化清单。
表名唯一,表中的数据单一;
模式(schema):关于数据库和表的布局与特性的信息。
列(column):表中的一个字段。
所有表都是由一个或多个列组成的,每一列存储着一条特定信息。
数据类型(data type):数据库中每个列都有相应的数据类型。数据类型定义了列可以存储的数据种类。
行(row):表中的一个记录。
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。
主键(Primary Key):一列(或一组列),其值能区分表中的每个行
主键应满足:1. 每行都必须有一个主键值(主键列不允许有NULL值);2. 任意两行都不具有相同的主键值;
主键使用规范:不更新、不重用
SQL(Structure Query Language):结构化查询语句。
SQL是一种专门用来与数据库通信的语言。
二、MySQL简介
MySQL是一种DBMS,它是一种数据库软件。
MySQL是基于客户机-服务器的DBMS。服务器部分负责所有的数据访问和处理,客户机通过 络提交请求给服务器。与数据文件打交道的只有服务器软件。
- MySQL的特点:
成本——MySQL开源、免费
性能——MySQL执行很快
可信赖——大公司使用MySQL
简单——MySQL易安装和使用 - MySQL工具
在操作系统命令提示符下输入mysql,运行mysql命令行程序
mysql命令输入在 mysql> 命令提示符之后
命令用 ; 或g结束
help或h获取帮助
输入 quit 或exit或q退出 - MySQL支持三种注释:
- 登录MySQL:
三、使用MySQL
- 显示现有数据库 SHOW DATABASES
- 创建数据库
1)CREATE DATABASE 数据库名
2)GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 数据库名@localhost IDENTIFIED BY ‘密码’;
3)SET PASSWORD FOR ‘数据库名’@‘localhost’ = OLD_PASSWORD(‘密码’);
依次执行上述三个命令完成数据库创建。注意:中文“密码”和“数据库”是需要用户自己设置的。如果不设置密码,直接执行第一条命令就行了。 - 使用某现有数据库 USE test; /* test是数据库名 */
必须先使用USE打开数据库,才能读取其中的数据 - 显示该数据库中的表 SHOW TABLES;
- 创建表
注:
PRIMARY KEY指定该表主键
创建表时,每项数据用逗 (,)隔开,最后一项数据无逗
基本格式为:(MySQL语句忽略空格,语句可以写在一个长行上输入,也可以分成多行)
使用属性方式定义主键时,只能定义一个主键(见student表、course表);使用PRIMARY KEY()语句指定主键时,可以定义多个主键(见cs表)
- 显示表项属性
- 插入数据
- 检索所有列(打印表)
- 修改表中的数据
如果要删除一条记录中的某个字段,可以设置它为NULL(加入表定义允许NULL值)
- 删除表中的数据
DELETE语句从表中删除行,但并不删除表本身。如果想从表中删除所有行,可以使用 TRUNCATE 语句,它删除原来的表并重新创建一个表,这比逐行删除表中元素要更快
- 视图
视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。(视图是对查询操作的包装,视图本身不包含数据,它只返回检索操作的结果)
视图的作用:1)重用SQL语句 2)简化复杂的SQL操作 3)保护数据,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限
注:与表名一样,视图名必须唯一
在视图创建以后,可以用与表基本相同的方式利用它们。可以对视图指向SELECT操作,过滤和排序数据,将视图联结到其他视图或表,甚至能添加和更新数据(对视图的添加更新数据,实际上是对基表添加和更新数据)。
删除或更新视图
如果视图CSCollStuGra不存在,CREATE AND REPLACE VIEW语句会创建一个视图;如果更新的视图存在,则该语句会替换原有视图。
- 安全管理
访问控制:数据库对不同的用户提供不同的操作手段使其仅能完成其所需的访问权限即可。
- 数据库的维护
- 检索数据
1)检索
2)排序检索数据
3)过滤数据
- 分组数据
1)创建分组
2)过滤分组
3)分组排序
- 子查询
- 联结表(join)
联结是SQL的SELECT语句能执行的重要操作
1)关系数据库
关系数据库:利用关系表方式存储数据的数据库
关系表:把信息分解成多个表,一类数据一个表,各表通过某些通用列相关联。(这样做可以避免相同数据重复存储)
外键:外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。
关系数据库的优点:有效的存储,更方便的处理,并且具有更大的可伸缩性。
2)联结
如果数据存储在多个表中,怎样在单条SELECT语句中检索出数据案是使用联结。
联结是一种机制,用来在一条SELECT语句中关联多个表并返回一组输出。
在联结两个表时,实际上做的是将第一个表中的每一行与第二个表中的每一行依次配对,WHERE子句作为联结条件起到过滤的作用。如果没有WHERE子句,则返回第一个表中的每一行与第二个表中的每一行的配对(笛卡尔积)。
- 存储过程
存储过程:为以后的使用而保存的一条或多条MySQL语句的集合。
优点:简单、安全、高性能 缺点:编写比一般SQL语句复杂,需要更高的技能,更丰富的经验。
1)创建存储过程
DELIMITER /
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!