一、数据库管理软件的由来
1、数据与文件的分离,文件存放于一台机器,多台机器通过网络访问文件。
2、用 socket 服务端来管理数据库服务器上的文件,然后用客户端进行访问。
3、把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。
二、数据库概述
2.1、什么是数据(Data)
描述事物的符号记录
计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容。
name sex age birth
byx male 18 1994
2.2、什么是数据库(DataBase)
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
2.3、什么是数据库管理系统(DataBase Management System)
mysql:主要用于大型门户,如搜狗、新浪等,它主要的优势是开放源代码。是甲骨文公司的免费产品。
oracle:主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。
sql server:主要应用于大中型企业,如联想、方正等。是微软公司的产品。
2.4、数据库服务器、数据管理系统、数据库、表与记录的关系。
数据库服务器:运行数据库管理软件
数据库管理软件:管理数据库
数据库:即文件夹,用来组织文件
表:即文件,用来存放多条记录
三、MySQL介绍
1、MySQL是什么
一个基于 socket 编写的 c/s 架构的软件
客户端软件
MySQL自带:MySQL命令、MySQLdump 命令等
python模块:pymysql
2、数据库管理软件分类
关系型:需要有表结构,如 mysql, sqllite, db2, oracle, access等,sql 语句通用
非关系型:以键值对方式储存,没有表结构。如 mongodb, redis, memcache
四、MySQL 安装
1、添加环境变量
2、将 MySQL 服务器制作成 Windows 服务
MySQL --install
五、MySQL 软件基本管理
5.1、登录、设置密码
设置初始密码:mysqladmin -uroot password'123'
修改密码:MySQLadmin -uroot -p'123' password'456'
登录:MySQL -h127.0.0.1 -uroot -p456
mysql -uroot -p
mysql 以 root 用户登录
5.2、忘记密码
1、跳过用户名和密码验证功能,启动服务端
mysqld --skip-grant-tables
2、修改管理员用户对应的密码
update mysql.user set password=password(123) where user='root' and host='localhost';
3、关闭当前服务端,重新以校验用户名密码的方式启动
5.3、为 mysql 服务指定配置文件
#在mysql的解压目录下,新建my.ini,然后配置 #1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效 [mysqld] ;skip-grant-tables port=3306 character_set_server=utf8 default-storage-engine=innodb innodb_file_per_table=1 #解压的目录 basedir=E:mysql-5.7.19-winx64 #data目录 datadir=E:my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据 #2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效 [client] port=3306 default-character-set=utf8 user=root password=123 #3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置 [mysql] ;port=3306 ;default-character-set=utf8 user=egon password=4573 #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
5.4、统一字符编码
#1. 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
#2. 重启服务
#3. 查看修改结果:
s
show variables like '%char%'
六、初识 sql 语句
6.1、sql 语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统。
sql 语言由 IBM 开发,分为三种类型:
1、DDL语句 数据库定义语言:数据库、表、视图、索引、存储过程。例如 create、drop、alter
2、DML语句 数据库操纵语言:插入数据 insert、删除数据 delete、更新数据 update、查询数据 select
3、DCL语句 数据库控制语言:控制用户的访问权限 grant、remove
6.2、基本操作
1、操作文件夹(数据库)
增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 删:drop database db1;
2、操作文件(数据)
增: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;
3、操作文件中的内容(记录)
增:insert into t1 values(1,'a'),(2,'b'),(3,'c'); 查:select * from t1; 改:updata t1 set name='sb' where id=2; 删:delete from t1 where id=1; 清空表:delete from t1; # 如果有自增 id,新增的数据,仍然是以删除前的最后一条作为起始。 truncate table t1; # 数据量大,删除速度比上一条快,且直接从零开始