MySQL的语言是SQL语言
SQL语言的特点
1.综合统一 2.高度非过程化 3.面向过程的操作方式 4.以同一种语法结构提供多种使用方法 5.语言简洁,简单易学
SQL的数据定义功能包括模式定义,表定义,视图和索引的定义1.创建数据库
1 | mysql> SHOW DATABASES; |
用来查看当前所有存在的数据库SHOW DATABASES;
mysql为必需的,描述用户的访问权限。其他数据库在后面将介绍
创建数据库是在系统磁盘上划分一块区域用于数据库的存储和管理
1.1创建基本数据库
mysql> CREATE DATABASE Student;//创建名为Student的数据库 Query OK, 1 row affected (0.03 sec)
1.2创建表
分2行书写
1.说明在哪个基本库中创建,如:USE test;
2.创建表,如创建S表:CREATE TABLE S
在第2步的下面可以写创建的具体属性以及信息;
1.3查看创建好的数据库
查看基本数据库的信息:SHOW DATABASES;
查看已经创建好的表test1:DESCN test1;
2.删除数据库
将已经存在的数据库从磁盘空间上清除。mysql> DROP DATABASE Student;//删除创建的Student数据库 Query OK, 0 rows affected (0.03 sec)
3.修改
3.1修改表名
将表test1改名为testa:ALTER TABLE test1 RENAME testa;
3.2修改字段数据类型
将表S中的Sname属性的数据类型改为CHAR(30):ALTER TABLE S MODIFY Sname CHAR(30);
3.3修改字段名
将表S中的属性Sname改为name,name的数据类型为CHAR(30):ALTER TABLE S CHANGE Sname name CHAR(30);
4.查
select语句
(1)选择表中的若干列
指定列,全部列,查询经过计算的值
(2)选择表中的若干元组
消除取值重复的行;查询满足条件的元组(比较大小,确定范围,确定集合,字符匹配,涉及空值的查询,多重条件的查询)
(3)order by子句
(4)聚集函数
(5)group by子句
约束聚集函数的作用范围
having配套使用
4.1查看表person
SELECT * FROM person;
4.2插入数据insert
在表person中插入数据
1 | INSERT INTO person(id,name,age,info) |
一行数据插入成功
如果要插入多条数据,只需要在VALUSE后面写,数据对应属性写在括号里面,括号与括号之间用逗号隔开。
4.3修改数据update
修改某一个或多个元组的值;带子查询的修改语句
数据更新与空值处理
(1)把全部红色零件的颜色改成蓝色
(2)由S5供给J4的零件P6改为由S3供应
(3)从供应商关系中删除供应号是S2的记录,并从供应情况关系中删除相应的记录
(4)请将(S2,J6,P4,200)插入供应情况关系
视图
视图是虚表,是从一个或几个基本表(或视图)导出来的表。数据库中只存放视图的定义,而不存放视图对应的数据,数据存放在基本表中。基本表中的数据发生变化,从视图中查询出的数据也就随之改变。
视图的优点
简化用户的操作;
使用户能以多种角度看待统一数据;
对重构数据库提供了一定程度的逻辑独立性;
能够对机密数据提供安全保护;
适当的利用视图可以更清晰的表达查询;
Q:请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO),零件代码(PNO),供应数量(QTY).
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况