一、初识数据库
1.1什么是数据库
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用
数据库是长期存放在计算机内、有组织、可共享的数据即可。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种 用户共享
1.2数据库分类
数据库本质就是一款CS架构的软件
数据库相关软件:
-
关系型数据库:固定表结构并且表与表之间可以建立关系
常见软件:Mysql、PostgreSQL、sqlite、db2、oracle、access、sql server
-
非关系型数据库:没有固定表结构并且存储数据以k:v键值对的形式
常见软件:mongodb、redis、memcache
二、MySQL
2.1简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
#mysql就是一个基于socket编写的C/S架构的软件
#客户端软件
mysql自带:如mysql命令,mysqldump命令等
python模块:如pymysql
SQL语句的由来
"""
MySQL不单单支持MySQL客户端操作,也支持其他编程语言来操作
python、java、php、c++、go语法都不一样 那MySQL如何做到兼容的呢
两种解决语言障碍的思路
1.自己精通多国语言 轻松自如的切换
2.采用统一的语言(SQL语句)
"""
重要概念介绍:
"""
库 >>> 文件夹
表 >>> 文件夹里面的文件
记录 >>> 文件内一行行的数据
表头 表格的第一行数据
字段 字段名+字段类型
"""
2.2 下载与安装
1.官网:https://www.mysql.com/downloads/
2.下载对应版本压缩包解压至自己定义的路径(路径下不要有中文)
3.简单启动:
bin目录下
mysql.exe 客户端
mysqld.exe 服务端
2.3 系统服务
1.环境变量的添加
2.系统服务制作(全部在管理员身份下操作cmd)
services.msc #查看系统服务
mysqld --install #制作成系统服务
mysqld --remove #取消系统服务
net start mysql #启动服务
net stop mysql #停止服务
2.4 用户登陆
mysql -u 用户名(一般为root) -p 密码 #管理员首次登陆无需密码
mysql #游客模式,有些权限没有
#忘记密码:
1.跳过授权表启动
mysqld --skip-grant-tables
2.无密码登陆
mysql -u root -p
3.修改密码
update mysql.user set password = newpassword where user="root" and host = "localhost"; #修改对应用户的密码
4.退出正常启动
2.5配置文件
MySQL默认配置文件my-default.ini不能修改
拷贝并重命名my.ini 然后加入自己配置
# \s 查看mysql基本信息
一些简单配置:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
三、基本SQL语句
3.1 数据库层操作
#查看所有数据库
show databases;
#查看单个数据库
show create database 数据库名;
# 修改数据库
alter database 数据库名 charset='gbk';
# 创建数据库
create database 数据库名;
#删除数据库
drop database 数据库名;
#使用数据库
use 数据库名;
#查看当前所的库
select database();
3.2 表层操作
#创建表
create table 表名(属性1,属性2...);
#改变表
修改字段数据类型
alter table 表名 modify 属性 新类型;
增加字段
alter table 表名 add 字段名 字段类型;
删除字段
alter table 表名 drop column 字段列名;
重命名字段
alter table 表名 rename column 源字段名 to 新字段名;
重命名表
alter table 表名 rename to 新表名;
#查看所有表
show tables;
#查看表的详细信息
show create table 表名;
#查看表结构
describe 表名; ===> desc 表名;
#删除表
drop table 表名;
3.3 数据层操作
#添加数据
insert into 表名 values (数据1),(数据2)...;
#修改数据
update 表名 set 新数据 where 条件;
#查看所有数据
select * from 表名;
#查看某字段信息
select 字段 from 表名;
#删除数据
delete from 表名 where 条件;
#删除表下所有数据
delete from 表名;