day22.数据库基础(MySQL)
day22.数据库基础(MySQL)
一、初识数据库
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)...;#修改数据updatae 表名 set 新数据 where 条件;#查看所有数据select * from 表名;#查看某字段信息select 字段 from 表名;#删除数据delete from 表名 where 条件;#删除表下所有数据delete from 表名;