数据库一

DataBase简称DB数据库即存放数据的仓库

数据库是长期存放在计算机内,有组织可共享的数据即可

数据库中的数据按一定的数据模型组织,描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享

DataBase Management System简称DBMS,数据库管理系统

数据库服务器:运行数据库管理软件

数据库管理软件:管理数据库

数据库:即文件夹,用来组织文件/表

表:即文件用来存放多行内容/多条记录

数据库管理技术发展历程:

一,人工管理阶段

特点:

1数据不保存:计算机主要用于科学计算,数据临时用,临时输入不保存

2.应用程序管理数据:数据要有应用程序自己管理,应用程序需要处理数据的逻辑+物理结构,开发者负担很重

3.数据不共享:一组数据只对应一个程序,多个程序之间涉及相同数据时,必须各自定义,造成大量数据冗余

4.数据不具有独立性:数据的逻辑结构或物理结构发生变化后,必须对应用程序作出相应的修改,开发负担增大

二:文件系统阶段

硬件水平:有了磁盘等可直接存取的存储设备

软件水平:有了操作系统并且操作系统中已经有了专门数据管理软件,即文件系统,处理方式不仅有了批处理还可以联机实时处理

优点:

1.数据可以长期保存:计算机大量用于数据处理,因而需要长期保存,进行增删改查操作

2.由文件系统管理数据:文件系统这个软件,把数据组织成相对独立的数据文件,利用按文件名,按记录进行存取,实现了记录内的结构性,但整体无结构.

缺点

1.:数据共享性差,冗余度大:一个文件对应一个应用程序,不同应用具有相同数据时,也必须建立各自的文件,不能共享数据,造成数据冗余,浪费空间,且数据重复存储,各自管理容易导致数据不一致性

2.数据独立性差:一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义,应用程序的改变,也将引起文件的数据结构的改变,因此数据和程序之间缺乏独立性.

三:数据系统阶段

硬件水平:有了大容量磁盘,硬件架构下降

软件水平:软件价格上升,分布式的概念盛行,

数据库系统的特点

1.数据结构化

2.数据共享,冗余度低,易扩充

3.数据独立性高

4.数据由DBMS统一管理和控制

  a.数据的安全性保护

  b.数据的完整性检查

  c.并发控制

  d.数据库恢复

MySQL是一个关系型数据库管理系统,一个基于socket编写的C/S架构的软件

数据库管理软件分类:

关系型:如sqllite,db2,oracle,access,sql,server,mysql

菲关系型:mongodb,redis,memcache

关系型数据库需要有表结构

菲关系型数据库是key_value存储的,没有表结构

SQL语言主要用于存取数据,更新数据,查询数据和管理关系数据库系统,SQL语言由IBM开发,SQL语言分为三种类型

1.DDl语句 数据库定义语言:数据库,表,视图,索引,存储过程,例如CREATE DROP ALTER

2.DML语句 数据库操纵语言:插入数据INSERT 删除数据DELETE 更新数据UPDATE 查询数据SELECT

3.DCL语句 数据库控制语言:例如控制用户访问权限GRANT,REVOKE

操作文件夹:

增:create database db1 charset utf8;

查:show databases;

改:alter database db1 charset latin1

删除:drop database db1;

操作文件

先切换到文件夹下:use db1

增:create table t1(id int,name char);

查:show tables

改:alter table t1 modify name char(3);

alter table t1 change name name1 char(2);

删:drop table t1;

操作文件中的内容/记录

增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');

查:select * from t1;

改:update t1 set name='sb' where id =2;

删:delete from t1 where id =1;

清空表:

delete from t1:如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始

truncate table t1;数据量大,删除速度比上一条块,且直接从零开始

auto_increment 表示:自增

primary key:表示约束(不能重复且不能为空):加速查找

1 mysqladmin -uroot password "root";初始密码为空因此可省略
2 mysqladmin -uroot -p"123" password "root";知道旧密码修改密码
设置密码
 1 1.关闭mysql
 2 2.在cmd中执行:mysql --skip-grant-tables;
 3 3.在cmd中执行:mysql;
 4 4.执行如下语句:
 5 update mysql.user set password = password('') where user ='root';
 6 flush privileges;
 7 5.taskkill mysqld 或taskkill /f /pid 1234
 8 6.重新启动mysql
 9 二:
10 1.关闭mysql,可以用taskkill mysqld将其杀死
11 2.在解压目录下,新建mysql配置文件
12 3.my.ini内容指定
13 [mysqld]
14 skip-grant-tables
15 #4.启动mysqld
16 #5.在cmd里直接输入mysql登录,然后操作
17 update mysql.user set authentication_string=password('') where user='root and host='localhost';
18 
19 flush privileges;
20 
21 #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
破解密码的两种方式
1 #1. 修改配置文件
2 [mysqld]
3 default-character-set=utf8 
4 [client]
5 default-character-set=utf8 
6 [mysql]
7 default-character-set=utf8
统一字符编码

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

原文地址:https://www.cnblogs.com/suncunxu/p/10232882.html