1.什么是数据库
存放数据的仓库
已学习的文件操作的缺陷
1.IO操作 效率问题
2.多用户竞争数据
3.网络访问
4.用户的验证
2.常见的数据库
关系型 数据之间存在某种关联关系
oracle
目前最好关系型数据库,体现在用户管理,分布式
商业用途收费
mysql
免费开源,功能支持没有oracle强 但是足以满足中小企业使用
先后被sun 和 oracle 收购
mysql创始人wedenius担心 mysql会闭源 于是另起灶炉 搞了marriaDB
mariaDB和mysql 使用方法一模一样
sqlServer
属于微软生态链,需要和windows配合使用
DB2
IBM开发的大型关系型数据库 ,收费的,通常与硬件捆绑销售

非关系型 数据以key -value的形式来存储 数据存在内存中 速度快
mongoDB
redis
memercach

2.数据库的相关概念
age = 18
一个变量 无法描述清楚数据
1.称之为一个字段

age = 18,name = Jack,genger = man
一堆变量在一起,可以描述清楚数据
2.称之为一条记录 对应着文件中的一行

文件需要分门别类 每个文件存储不同的数
3.一个文件称之为表

文件越来越多 得分文件夹
4.一个文件称之为库

数据库中包含所有内容:
字段(列)
记录


DBMS 数据库管理系统
数据库服务器
一个库可以包含多个表 一个表可以包含多条记录 一条记录中有多个字段

数据库是什么,本质上就是一套C/S架构得socket软件





4.修改默认密码
修改默认密码需要先登录成功
执行update语句直接修改 user表中的密码
5.7
update mysql.user set authentication_string = password("root") where user = "root";
5.6
update mysql.user set password = password("root") where user = "root";

修改密码方式2 不需要登录 需要知道旧密码
mysqladmin -uroot -p旧密码 password 123

破解密码,当忘记密码时 无法登录 也就不能值执行update语句
思路:
1.启动服务器时 控制它不要加载授权表
2.无密码登录服务器
3.执行update mysql.user set authentication_string = password("root") where user = "root"
4.重启服务器

用到的系统指令:
mysqld 直接运行服务器程序
mysqld --skip-grant-tables 跳过授权表 用于重设密码
tasklist | findstr mysqld 查找mysql进程
taskkill /f /pid 结束服务器程序
mysql 运行客户端程序 -u用户名 -p密码 -h主机地址 -P端口号
mysqld --install 将mysqld注册当windows服务中 在服务中叫MySQL
windows就是绑定了一个exe程序
sc delete mysql 删除windows服务
exit 退出客户端



5.简单的sql语句
针对库的相关操作

create database 库名称

drop database 库名称

alter database 库名称 要改的属性名称
alter database db1 DEFAULT CHARACTER SET utf8;
alter database db1 CHARSET utf8;
注意 在mysql中 utf-8 不能带- 写成utf8

show databases查看所有数据库
show create databases 库名称 查看建库的语句
命名规范:
1.不能使用纯数字
2.可以是数字 字母 下滑线的组合
3.可以下滑线开头
4.不能是关键字 如create
大致和python相同
不区分 大小写

表相关的操作

建表时要明确数据库
use db1;
create table 表名称(字段名 类型(长度),....)
create table dog(nikename char(10),gender char(1),age int)
#创建时同时指定数据库
create table 库名称.表名称(字段名 类型(长度),....)

drop table 表名;


alter table 表名称 drop|change|modify|add
drop 字段名称
alter table dog drop color;

change 旧的字段名 新的字段名 新的类型
alter table dog change gender sex char(2);

modify 字段名 新的类型
alter table dog modify color char(5);

add 字段名称 类型
alter table dog add color char(10);
重命名表
rename table 旧表名称 to 新表名称
rename table dog to dogtable;

修改表的属性
alter table 表名 属性名 值;
alter table dogtable DEFAULT CHARSET gbk;


show tables;查看所有表
desc 表名称; 查看表结构
show create table 表名;查建表语句
记录相关操作

inert into 表名 values(值1,值2.....)

delete from 表名 where 字段名称 = 值
没有条件的话删除全部数据

update 表名 set 字段名 = 新的值 where 字段名 = 值
没有条件的话修改全部

select *from 表名; *表示通配符 查看所有字段
select 字段名称1,字段名2.. from 表名;

6.修改默认编码
配置文件放在安装路径根目录中 就是和bin同级 名称必须叫my.ini
#客户端的配置
[client]
#mysql这个客户端的配置
[mysql]
user = root
password = root
default-character-set = utf8
#服务器端的配置
[mysqld]
character-set-server = utf8
1.什么是数据库
存放数据的仓库
已学习的文件操作的缺陷
1.IO操作 效率问题
2.多用户竞争数据
3.网络访问
4.用户的验证
2.常见的数据库
关系型 数据之间存在某种关联关系
oracle
目前最好关系型数据库,体现在用户管理,分布式
商业用途收费
mysql
免费开源,功能支持没有oracle强 但是足以满足中小企业使用
先后被sun 和 oracle 收购
mysql创始人wedenius担心 mysql会闭源 于是另起灶炉 搞了marriaDB
mariaDB和mysql 使用方法一模一样
sqlServer
属于微软生态链,需要和windows配合使用
DB2
IBM开发的大型关系型数据库 ,收费的,通常与硬件捆绑销售

非关系型 数据以key -value的形式来存储 数据存在内存中 速度快
mongoDB
redis
memercach

2.数据库的相关概念
age = 18
一个变量 无法描述清楚数据
1.称之为一个字段

age = 18,name = Jack,genger = man
一堆变量在一起,可以描述清楚数据
2.称之为一条记录 对应着文件中的一行

文件需要分门别类 每个文件存储不同的数
3.一个文件称之为表

文件越来越多 得分文件夹
4.一个文件称之为库

数据库中包含所有内容:
字段(列)
记录


DBMS 数据库管理系统
数据库服务器
一个库可以包含多个表 一个表可以包含多条记录 一条记录中有多个字段

数据库是什么,本质上就是一套C/S架构得socket软件





4.修改默认密码
修改默认密码需要先登录成功
执行update语句直接修改 user表中的密码
5.7
update mysql.user set authentication_string = password("root") where user = "root";
5.6
update mysql.user set password = password("root") where user = "root";

修改密码方式2 不需要登录 需要知道旧密码
mysqladmin -uroot -p旧密码 password 123

破解密码,当忘记密码时 无法登录 也就不能值执行update语句
思路:
1.启动服务器时 控制它不要加载授权表
2.无密码登录服务器
3.执行update mysql.user set authentication_string = password("root") where user = "root"
4.重启服务器

用到的系统指令:
mysqld 直接运行服务器程序
mysqld --skip-grant-tables 跳过授权表 用于重设密码
tasklist | findstr mysqld 查找mysql进程
taskkill /f /pid 结束服务器程序
mysql 运行客户端程序 -u用户名 -p密码 -h主机地址 -P端口号
mysqld --install 将mysqld注册当windows服务中 在服务中叫MySQL
windows就是绑定了一个exe程序
sc delete mysql 删除windows服务
exit 退出客户端



5.简单的sql语句
针对库的相关操作

create database 库名称

drop database 库名称

alter database 库名称 要改的属性名称
alter database db1 DEFAULT CHARACTER SET utf8;
alter database db1 CHARSET utf8;
注意 在mysql中 utf-8 不能带- 写成utf8

show databases查看所有数据库
show create databases 库名称 查看建库的语句
命名规范:
1.不能使用纯数字
2.可以是数字 字母 下滑线的组合
3.可以下滑线开头
4.不能是关键字 如create
大致和python相同
不区分 大小写

表相关的操作

建表时要明确数据库
use db1;
create table 表名称(字段名 类型(长度),....)
create table dog(nikename char(10),gender char(1),age int)
#创建时同时指定数据库
create table 库名称.表名称(字段名 类型(长度),....)

drop table 表名;


alter table 表名称 drop|change|modify|add
drop 字段名称
alter table dog drop color;

change 旧的字段名 新的字段名 新的类型
alter table dog change gender sex char(2);

modify 字段名 新的类型
alter table dog modify color char(5);

add 字段名称 类型
alter table dog add color char(10);
重命名表
rename table 旧表名称 to 新表名称
rename table dog to dogtable;

修改表的属性
alter table 表名 属性名 值;
alter table dogtable DEFAULT CHARSET gbk;


show tables;查看所有表
desc 表名称; 查看表结构
show create table 表名;查建表语句
记录相关操作

inert into 表名 values(值1,值2.....)

delete from 表名 where 字段名称 = 值
没有条件的话删除全部数据

update 表名 set 字段名 = 新的值 where 字段名 = 值
没有条件的话修改全部

select *from 表名; *表示通配符 查看所有字段
select 字段名称1,字段名2.. from 表名;

6.修改默认编码
配置文件放在安装路径根目录中 就是和bin同级 名称必须叫my.ini
#客户端的配置
[client]
#mysql这个客户端的配置
[mysql]
user = root
password = root
default-character-set = utf8
#服务器端的配置
[mysqld]
character-set-server = utf8
posted on 2018-11-19 16:09  小轩灬  阅读(178)  评论(0编辑  收藏  举报