数据库基础

数据库

简介

数据库(DataBase,DB):指长期保存在计算机的储存设备上,按照一定规则组织起来,可以被各种用户和应用程序共享的数据集合。

数据库管理系统(DataBase Management System, DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。

数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的

数据库:存储、维护和管理数据的集合。

三大范式(规范)

第一范式:无重复的列当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一 范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求,否则,将有很多基本操作在这样的 关系模式中实现不了。

第二范式:**属性完全依赖于主键(消除部分子函数依赖)**如果关系模式R满足第一范式,并且R得所有 非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。

第三范式:**属性不依赖于其它非主属性(消除传递依赖)**设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF. 满足第三范式(3NF)必须先满足第二范式(2NF)。第三范式(3NF)要求一个数据库表中不包含已在其 它表中已包含的非主关键字信息。

第二范式(2NF)和第三范式(3NF)的概念很容易混淆,区分它们的关键点在于,2NF:非主键列是 否完全依赖于主键,还是依赖于主键的一部分;3NF:非主键列是直接依赖于主键,还是直接依赖于非 主键列

SQL语言

概述

SQL:Structure Query Language(结构化查询语言),SQL被美国国家标准局(ANSI)确定为关系数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库的国际标准。

各数据库厂商都支持ISO的SQL标准,普通话

各数据库厂商在标准的基础上做了自己的扩展,方言

SQL是一种标准化的语言,它允许你在数据库上执行操作,如创建项目,查询内容,更新内容,删除条目等操作。

Create,Read,Update,and Delete通常被称为CRUD操作。

SQL语句分类

  • DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。
  • DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)增删改。
  • DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
  • DQL(Data Query Language):数据查询语言,用来查询记录(数据)查询。

注意:SQL语句以" ; "结尾 ,Mysql中的关键字不区分大小写

DDL操作数据库

1.创建数据库

create database语句用于创建新的数据库:
编码方式:gb2312、utf-8、gbk、iso-8859-1

//create database 数据库名
create database mydatabase1;
//create database 数据库名 character set 编码方式
create database mydatabase2 character set gbk;
//create database 数据库名 chararter set 编码方式 collate 排序规则
create database mydatabase3 charater set gbk collate gbk_chinese_ci;  

eg:在cmd创建一个名为mydatabase1的数据库
在这里插入图片描述
创建成功!

2.查看数据库

查看当前数据库服务器中的所有数据库

show databases;

eg:
在这里插入图片描述
查看之前创建的数据库的定义信息
show create database 数据库名;

eg:查看前面创建的mydatabase1数据库的定义信息
在这里插入图片描述

3.修改数据库的定义信息

alter database 数据库名 character set 编码方式

eg:查看服务器中的数据库,并把mydatabase1的字符集修改为gbk
在这里插入图片描述

4.删除数据库

drop database 数据库名

eg:删除之前创建的mydatabase1数据库
在这里插入图片描述

5.其他语句

查看当前使用的数据库
select database();
eg:
在这里插入图片描述
NULL表示当前没有使用任何数据库。

切换数据库:use 数据库名
use mydatabase1;

eg:切换sys数据库为当前使用数据库
在这里插入图片描述

DDL操作表

create table语句用于创建新表。
语法:

create table 表名(
	列名1 数据类型 [约束],
	列名2 数据类型 [约束],
	...
	列名n 数据类型 [约束]
);

说明:表名,列名是自定义,多列之间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值