数据库(库,表,数据 的增删改查)

数据库

什么是数据库                                      

就是存储数据的仓库( 容器)

存储数据的方式

1 变量 无法永久存储

2 文件处理 可以永久存储

文件处理存在的弊端:

1 文件处理速度慢

2 文件只能在自己的计算机上读写,无法被共享(局域网除外)

 

单台计算机的性能终归是有限的

1 升级你的硬件设备  提升幅度有限 称之为垂直拓展

2 服务器集群 分布式  横向拓展

一旦把服务器拆分开后,数据就必须能够被不同的计算机共享

必须通过网络 也就是socket

数据的本质就是一个socket(tcp)的c/s结构的程序

如果自己实现一个数据软件 需要解决的几个问题

1 一旦数据共享,就存在竞争问题,需要处理锁

2 不是所有的tcp连接请求都要接受,需要加上安全验证

3 文件处理带来的效率问题,需要想办法来提高梳理速度(索引)

有很多现存在的数据库软件可以直接使用,又分为两大类

1 关系型数据库

该数据的类型  提供某种机制可以帮你维护 数据与数据之间的关系

例如 学员数据和班级数据 可以通过一方找到另一方

一般都是基于文件来实现的

优点是:

容量大,可以永久储存

MySQL 免费开源 开源支持中小型企业并发

Oracle 商业收费 学习免费 功能比MySQL强大,用户管理和集群

SQLServer 属于微软生态圈 只能运行在Windows中

MariaDB  MySQL创始人在MySQL的基础上开发了MariaDB

DB2 ibm 360

sqllite  非常轻量级的数据库

共同的特点都支持SQL

结构化 查询语言,学习数据库的重点也就是SQL语言

2 非关系型数据库

数据与数据之间是独立的,不存在任何关联关系

以key :value的形式来存储数据

一般基于内存 优点:速度快 缺点:断电丢失

MongoDB

redis

memcache

该使用哪一类数据库?

应该搭配使用,把数据量大的存在关系型中 把经常访问的放到非关系型中,提高访问速度

数据库的相关概念

数据 本质上一堆带有含义的符号

name= Jack

数据记录

多个数据组成了一条完整的记录

表  本质上就是一个文件

里面存储着一堆数据记录

库 本质上就是一个文件夹

里面放着一堆表文件

DBMS (data base manager system)

数据库管理系统(tcp的服务器)

负责管理一堆文件夹(即数据库)

数据库服务器 

指的是运行有tcp服务器程序的计算机

 

MySQLd 是服务器的主程序

MySQL警告说:创建文件失败 由于权限不足 用管理员权限运行即可

MySQL是无界面的客户端 需要在cmd运行

MySQL 连接服务器 需要cmd运行

MySQL连接服务器 需要指定以下cmd运行

-h 主机地址(ID)

-P 端口号

-u 用户名

-p 密码

服务器和客户端在同一台电脑 可以省略主机地址 端口号默认3306 可以忽略   如果不指定用户名和密码 以游客身份登录  什么也看不到

MySQL 的安装

1 带界面

2 压缩包 字直接解压

2.1添加环境变量

2.2注册系统服务

修改管理员密码

1 如果知道原始密码 MySQLadmin -uroot  -p passwort  123

2 不知道原密码  可以在启动服务器时 跳过  授权表

mysqld --skip-grant-tables

无密码登录服务器 执行修改密码的指令

upload MySQL。user  set password = password(“新密码”) where user = 'root' and host = 'localhost';

库的增删改查

创建库

create databases 库名称

删除库

drop database 库名称

修改库属性

alter database 库名称 charset = "新的编码“
查看创建库的详细信息

show  create database 库名称

查看所有数据库

show databases

选择一个数据库

use 库名称

表的增删改查

create table 表名称(name char ,age int);

create table 表名称(name char ,age int);

查看所有表

show tables

查看表的详细信息

show create table 表名称

查看表结构 (字段)

alter table 表名称 charset = "gbk" 改编码

alter table 表名称 add ses char ;添加字段

alter table 表名称 drop sex ;删除字段

alter table 表名称 modify age char ;修改字段的类型

alter table 表名称 change age ages int ;修改字段的名字和类型

rename table 表名称(旧表名称) to 表名称(新表名称)

删除 

drop table 表名称;

记录的增删改查

一次插入一条数据

insert into 表名称 values(值1,值2);

一次性插入多条数据

insert into 表名称 values(值1,值2),(值1,值2)....;

上述语法 值的个数必须与字段的个数相同

指定要插入的数据的字段

insert  into  表名称(字段名称) values(值);

查看数据 

select * from 表名称;*表示查看所有的字段 多个字段用逗号隔开

修改

update 表名称 set age = 100;没有条件则全部修改 

update 表名称 set age = 100 where  name  =  "陈“;

 update 表名称 set age = 100 ,name = “刘铁柱” where name = “陈” 把陈替换成刘铁柱

删除数据

delete form 表名称 删除整个表

delete from 表名称 where name = “刘铁柱” 删除一条数据

猜你喜欢

转载自www.cnblogs.com/tangda/p/10545907.html