转载自:
http://blog.csdn.net/weixin_36244867/article/details/72866833
DBMS
DBMS数据库管理系统的简称,我们常见的DBMS由以下几种,并且它们各自的优缺点如下:
Oracle
Oracle是一种关系型数据库管理系统。它的特点是:运行稳定、功能齐全、性能优异;主要应用在大型的企业数据库领域。
DB2
DB2由IBM公司研发。它的特点是:具有较好的可伸缩性;主要应用于大型应用系统,可支持从大型机到单用户环境。
SQL Server
SQL Server由Microsoft研发。它的特点是:界面友好、操作简单;主要应用于电子商务,企业的ERP,进销存等软件
MySQL
MySQL属于瑞典MySQL AB的产品。MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言;它的特点是:体积小、速度快、成本低;主要于中小型应用系统。
一般企业用的MySQL比较多,成本低,所以我们就来学习MySQL。
安装教程自行百度吧。
SQL简介
sql是数据库语言标准,它具有以下的特点:
- 简单易学,具有很强的操作性;
- 绝大多数重要的数据库管理系统均支持SQL;
- 高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成。
sql的分类由以下几种:
- DDL
数据定义语言,用来操作数据库/表/列,create alter drop; - DML
数据操作语言,用来操作数据库表的数据,insert update delete; - DCL
数据控制语言,用来操作访问权限和操作级别,grant deny; - DQL
数据查询语言,用来查询数据,select;
DDL和DML的区别在于DDL操作的是数据库或者表或者列,而DML操作的具体的数据,相对而言DDL级别更高,我们来一次学习一下。
DDL数据定义语言
它的代表语法:create alter drop。
1. 对数据库操作
// 创建数据库
create database dbName;
// 创建数据库并指定字符集
create database dbName character set utf8;
// 查询数据库
show create database dbName;
// 查询所有数据库
show databases;
// 删除数据库
drop database dbName;
// 修改数据库
alter database dbName character set gbk;
// 切换到数据库
use dbName;
// 查看当前使用的数据库
select database();
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
2. 对表操作
//创建表格式
create table tableName(
字段名称1 类型,
字段名称2 类型,
字段名称3 类型,
字段名称4 类型,
字段名称5 类型
);
//创建一个学生表
create table student_info(
id int,
user_name varchar(10),
age int,
birthday date
);
// 显示当前数据库中所有表
show tables;
// 修改表的名字
rename table oldTable to newTable;
// 删除表
drop table tableName;
// 查询表字段信息
describe tableName;
desc tableName; //简写
// 修改表的字符集
alter table tableName character set gbk;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
3. 对列操作
// 为表增加列,为表增加一个类型为int的列sex;
alter table student_info add column sex int;
alter table student_info add sex int; //简写
// 修改表的列名,oldName改为newName
alter table student_info change oldName newName varchar(20);
// 删除列,删除列sex
alter table student_info drop sex;
DML数据操作语言
它的代表语法:insert update delete。
1. 插入操作:insert
INSERT INTO 表名 (列名1,列名2…)VALUE (值1,值2…);
要注意这几点:
- 列名与列值的类型、个数、顺序要一一对应;
- 列值不要超出列定义的长度;
- 如果插入空值,请使用null;
- 插入的日期和字符需用引号括起来,例如:’sun’、’2016-09-04’;
例子:
// 插入一条数据,id,student_name值确定
insert into student(id,student_name) values(1, '戚继光');
//插入多条数据
insert into student(id,student_name) values
(2, '戚薇'), (3, '戚继光');
2. 修改操作:update
UPDATE 表名 SET 列名1=列值1,列名2=列值2 WHERE 列名=值;
例子:
// 将student_name的值‘戚继光’改为‘英雄’
update student set student_name='英雄' where student_name='戚继光';
// 将列birthday所有的值都改为'1992-08-05'
update student set birthday='1992-08-05';
3. 删除操作:delete
// 删除某一条数据
delete from tableName where id=1;
// 删除表中的所有数据但表还存在,可以找回数据
delete from tableName;
// 删除表中所有数据,数据不可找回,速度比delete快
truncate table tableName;
DCL数据控制语言
DCL用来定义访问权限和安全级别。
// 创建用户语法
create user 用户名@IP地址 identified by 密码;
// 创建一个'qdl'用户 密码为'123456'
create user qdl@localhost identified by '123456';
// 创建新用户后需要更新权限表
flush privileges;
// 给用户授权语法
grant 权限1,权限2...权限n on 数据库名.* to 用户名@ip地址 identified by 密码;
// 将所有权限授予用户
grant all on 数据库名.* to 用户名@ip地址 identified by 密码;
// 给用户qdl添加数据库mydatabase的所有权限
grant all on mydatabase.* to qdl@localhost identified by '123456';
// 撤销权限
revoke 权限1,权限2,...权限n on 数据库名.* from 用户名@ip地址;
// 撤销用户qdl的所有权限
revoke all on mydatabase.* from 用户名@ip地址;
// 查询用户权限
show grants for qdl@localhost;
// 删除用户
drop user qdl@localhost;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
DQL数据查询语言
由于DQL的重要性,我们应该另起一篇来探讨。