博客整理day33
目录
python day33
一 数据库概述
什么是数据
描述事物的符号记录称之为数据
什么是数据库(DataBase,简称DB)
数据库即存放数据的仓库,它是在计算机存储设备上的数据仓库,并且数据是按一定的格式存放
数据库中的数据按一定的数据模型组织,描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可被其他用户共享
数据库管理系统(DataBase Management System 简称DBMS)
数据库管理系统更好地组织和存储了数据,并可以高效获取和维护数据
常用的:MySQL,Oracle,SQLite,SQLServer等
二 数据库内部成员关系
记录:1 Simple 88888(多个字段的信息组成一条记录,即文件中的一行内容)
表:student,school,class(即文件)
数据库:oldboy_stu(即文件夹)
数据库管理系统:如mysql(是一个软件)
数据库服务器:一台计算机(对内存要求较高)
小结:
数据库服务器:运行数据库管理软件
数据库管理软件:管理数据库
数据库:即文件夹,用来组织文件/表
表:即文件,用来存放多行内容/多条记录
三 MySql介绍
什么是mysql
MySQL是一个关系型数据库管理系统
它是一个基于socket编写的C/S架构软件
数据库软件分类
关系型数据库(需要有表结构)
MySql
Oracle
SQLite
SQLServer
非关系型数据库(是key:value形式存储,没有表结构)
Mongodb
Redis
四 下载安装
-
从官网下载MySQl Community Server
-
添加环境变量
-
在cmd窗口初始化
mysql --initialize-insecure
-
启动MySQL服务器
mysqld
-
启动MySQL客户端并连接MySQL服务
mysql -uroot -p
-
制作MySQL的windows服务,在终端执行命令
'绝对路径'--install
-
启动MySQL服务
net start mysql
-
关闭MySQL服务
net stop mysql
五 MySQL软件基本管理
登录设置密码
初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
[root@egon ~]# mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用
[root@egon ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码
命令格式:
[root@egon ~]# mysql -h172.31.0.2 -uroot -p456
[root@egon ~]# mysql -uroot -p
[root@egon ~]# mysql 以root用户登录本机,密码为空
忘记密码
[root@egon ~]# vim /etc/my.cnf #mysql主配置文件
[mysqld]
skip-grant-table
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql
MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> \q
[root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
[root@egon ~]# systemctl restart mariadb
[root@egon ~]# mysql -u root -p123 #以新密码登录
方法二:启动时,跳过授权库
SQl语句
#1. 操作文件夹
增:create database db1 charset utf8;
查:show databases;
改:alter database db1 charset latin1;
删除: drop database db1;
#2. 操作文件
先切换到文件夹下: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;
#3. 操作文件中的内容/记录
增: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 表示:约束(不能重复且不能为空);加速查找