前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库相关操作

数据库相关操作

作者头像
小闫同学啊
发布2019-07-18 10:31:09
9380
发布2019-07-18 10:31:09
举报
文章被收录于专栏:小闫笔记小闫笔记

数据库


数据

  1. 对现实事物属性特征的描述,都是数据
  2. 计算机中数据的体现形式为文本,图片,表格,视频,音频等,都是以二进进制形式进行存储

数据库

  1. 数据的仓库
  2. 以特定的数据组织格式进行管理数据
  3. 读取速度快,容量大,方便对数据进行管理

DBMS

DBMSDatabase Management System 数据库管理系统,简称DBMS ,是用来管理数据的专用软件。

DBS

DBSDatabase System 数据库系统,由几部分组成,如下:

  1. DBDatabase 数据库,真正用来存储数据的部分
  2. DBMS DatabaseManagement System 数据库管理系统,用来操作数据库的部分
  3. Client 数据库客户端,用来连接数据库,发起请求操作
  4. DBS = DB + DBMS + Client

常用数据库管理软件

  1. MySQL 中小_型数据库,_跨平台,开源,免费,应用_范围广
  2. Oracle 大型数据库,跨平台,稳定,安全,收费
  3. MS SQLServer MS 针对 NT系统开发的数据库,只能运行在_ NT 系统上
  4. Sqlite 微型数据库,一般用在移动端开发

关系型数据库

RDBMS Relational Database Management System 关系数据库管理系统

关系表构成

  1. 行,表示一条数据,也称为记录
  2. 列 ,表示一个属性,也称为字段
  3. 域 , 表示一个字段的取值范围
  4. 表 , 行和列构成了表

SQL

  1. SQLStructured Query Language 结构化查询语言
  2. SQL 的主要功能是和数据库建立连接,提供增删改查的操作。
  3. ANSI(美国国家标准协会)规定,SQL被作为关系型数据库管理系统的标准语言。

SQL语言分类

  1. DDL DataDefinition Language 数据定义语言,主要提供数据库,数据表的创建操作。
  2. DML DataManipulation Language 数据操作语言,主要提供数据表中数据的插入,更新,删除操作
  3. DQL DataQuery Language 数据查询语言,主要_提供对数据表中数据的查询操作。
  4. DCL DataControl Language,数据控制语言,主要用来设置或更改数据库用户或角色权限的语句。

数据查询过程

  1. 客户端发生请求
  2. 服务器接收请求
  3. 服务器将请求发给DBMS查询数据
  4. DBMS 将查询结果返回给服务器
  5. 服务器将结果返回给客户端
  6. 客户端接收使用数据

Ubuntu安装MySQL服务器命令

sudo apt-get install mysql-server

MySQL服务管理

  1. 查看服务器是否开启 ps aux | grep mysql
  2. 启动服务 sudo service mysql start
  3. 停止服务 sudo service mysql stop
  4. 重启服务 sudo service mysql restart
  5. 查看服务状态sudo service mysql status

MySQL 常用客户端

  1. 图形化客户端 Navicat, PHPAdmin, MySQLYog, MySQL Browser
  2. 终端 windows - cmd,mac - 终端, linux - terminal

连接数据库

  1. 数据库IP地址
  2. 数据库服务端口号
  3. 数据库用户名
  4. 数据库用户密码

数据库中默认自带的数据库

  1. infomation_schema 保存其它数据库的信息
  2. perfromance_schema 保存数据库的优化信息
  3. sys infomation_schema +perfromance_schema
  4. mysql 保存数据库用户信息

数据库 CRUD 操作


C Create创建

RRead/Retrieve 查询

U Update修改

D Delete删除

创建数据库

create database 数据库名;

create database 数据库名 charset 字符集;

显示数据库创建信息

show create database 数据库名;

修改数据库字符集

alter database 数据库名 charset=字符集;

显示所有数据库

show databases;

切换、使用数据库

use 数据库名

显示当前选择数据库

select database();

删除数据库

drop database 数据库名;

显示所有的数据表

show tables;

创建数据表

create table 表名( 字段名 字段类型,[字段名 字段类型]…);

显示表创建信息

show create table 表名;

添加字段

alter table 表名 add 字段名 字段类型;

删除字段

alter table 表名 drop 字段名;

修改字段类型

alter table 表名 modify 字段名 字段类型;

修改字段名

alter table 表名 change 旧字段名 新字段名 字段类型;

删除数据表

drop table 表名

数据类型

整型

  1. tinyint 1 字节
  2. smallint 2 字节
  3. mediumint3 字节
  4. integer 4 字节
  5. bigint 8 字节

浮点类型

  1. float (长度,小数位数) 7位有效位
  2. double(长度,小数位数)15位有效位
  3. decimal(长度,小数位数) 28位有效位

字符串类型

  1. char(长度) 0-255字节 定长字符串
  2. varchar(长度) 0-65535字节 变长字符串

枚举类型

  1. enum(枚举值1,枚举值2…)

时间类型

  1. DATEYYYY-MM-DD 日期值
  2. TIMEHH:MM:SS 时间值
  3. DATETIME YYYY-MM-DD HH:MM:SS 日期时间值
  4. YEARYYYY年份值
  5. TIMESTAMP 时间戳 1970-01-01 00:00:00 到现在的秒数

查询所有数据

select * from 表名;

插入数据

insert into 表名 [(字段名列表,…)] values(值,…);

修改数据

update 表名 set 字段=值 [条件_]

删除数据

truncate表名; ——不经事务,删除不可恢复

deletefrom 表名 [条件]; ——可以用在事务操作中,在事务中没有提交时,可撤消。

数据完整性

  1. 域完整性
  2. 实体完整性
  3. 参考完整性

数据库约束

主键约束

保证数据唯一性,一般设置ID字段,一个表中只能有一个主键字段

create table 表名(字段名 字段类型 primary key);

自动增长约束

让数值类型字段自动增长,需要配合主键使用

create table 表名(字段名 字段类型 auto_incrementprimary key);

唯一性约束

保证数据的唯一性,不会出现重复数据

create table 表名(字段名 字段类型 unique);

非空约束

字段的内容不允许为空

create table 表名(字段名 字段类型 not null);

默认值约束

字段没有给定值时,使用的默认填充值

create table 表名(字段名 字段类型 default 值);

外键约束

为两表建立引用参考关系

create table 表名(字段名 字段类型… , foreign key(外键字段名) references 关联表名(关联字段名);

检查约束

检查约束在MySQL中无效,但其它数据库中有效

create table 表名(字段名 字段类型 check(值范围条件));

添加删除约束

主键约束

1.添加

altertable 表名 addconstraint 约束名 primarykey(字段名);

2.删除

altertable 表名 dropprimary key;

外键约束

1.添加

altertable 表名 addconstraint 外键约束名 foreignkey(外键字段名)references 关联表(关联字段名);

2.删除

altertable 表名 dropforeign key 外键名;

数据库导入导出


导出

mysqldump–uroot –p(注意不要输入密码) 要导出的数据库名要导出的数据表 ... > 目标文件.sql

导入

mysql-uroot -p 数据库名 < 要导入的文件.sql

数据表设计思想


  1. 需求分析:根据用户的需求,分析出需要记录的数据
  2. 需求设计:根据分析出的数据,设计E-R模型图
  3. 详细设计:将E-R模型图转换成数据表
  4. 三大范式:使用数据库三大范式的设计思想对数据表进行审核

ER模型图


Entity-Relationship,实体关系图组成元素:

  1. 矩形 表示实体
  2. 椭圆形 表示属性
  3. 菱形 表示关系

三大范式


设计数据库时的参考理论,这里只是简单理解思想,并不是准确理论概念

第一范式: 每一列都具有原子性,也就是不能再分割

第二范式 : 每个表只描述一件事情

第三范式 : 表中不能存在冗余字段

每一范式的实现都必须要在前一范式的实现基础上

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档