mysql

数据库
文件处理就可以将数据永久存储

问题:
1.管理不方便
2.文件操作效率问题
3.一个程序不太可能运行在同一台电脑上
提高计算机性能的方式:
1.垂直扩展 知道是更换性能更好的硬件
2.水平扩展 之的就是添加更多的计算机,把任务分配给每一台
分布式计算的好处:
1.其中某一台死机 不会导致整个系统瘫痪 稳定性高
2.理论上性能可以无限扩展

分布式计算其实也是整体
1.数据需要被共享 需要socket技术
2.共享就存在竞争问题 加锁处理
3.文件存取效率问题

数据库 本质上就是一套软件 由服务端和客户端组成

目前常见的数据库
关系型数据库:
数据与数据之间 可以建立关联关系
SQLServer
仅支持windows
MySQL
免费 开源 性能也不差
Oracle
目前最牛逼的数据库 收费很高
DB2
IMB 收费
非关系型数据库:
优点:速度快
key value 存取
MongoDB
redis
memcache


注册数据库
1.添加环境变量
2.注册系统服务
mysqld --install


设置密码
mysqladmin.exe 用于设置密码
mysqladmin -uroot -p旧密码 password 新密码

破解密码
1.删除存储密码的文件
2.重装mysql
3.可以在启动服务器时 告诉他 让他不要读取密码文件
1.mysqld -skip-grant-tables
2.无密码登录服务器
3.使用update 来更新你的密码 在msyql.user表中
在客户端 update mysql.user set password = password("321") where user = "root" and host="localhost";
4.重启服务 验证新密码


mysql -uroot -padmin 用mysql自带的客户端登录服务器
-u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端不需要指的 -h -P

常见sql命令
查看所有数据库名称: show databases;
选择某个数据库 就是进入文件夹: use 数据库名称
退出客户端: quit or exit


数据库服务器中存放的是 库(文件加) 表(文件) 表里面是记录(一行数据)
库相关
创建
create database 数据库名 charset 编码名称
修改
alter database 数据库名 charset gbk

show databases; 查看所有数据
show create database 数据库名 查看建库语句
删除
drop database 数据库名

表相关
创建
create table t1(id int,name char);
修改
改结构
alter table 表名 add | drop | modify | change
add 后面跟 字段名 数据类型
drop 后面跟 字段名
modify 后面跟 字段名 新类型
change 后面跟 旧字段名 新的字段名 新类型
该属性
编码
alter table t1 charset gbk;
表名
rename table 旧表名 to 新表名

show tables;
show create table 表名 查看建表语句
desc 表名 查看表结构(字段)
删除
drop table 表名
truncate table 表名,重建表(清空数据)
记录相关
添加
insert into 表名 values(值1...),(值1....)....
插入时注意 值得顺序 和 类型必须与表结构一致
修改
update 表名 set 字段名=新的值 where 条件
可以同时修改多行 用逗号来隔开字段
没有条件就全改

select *|字段名 from 表名 *表示所有字段
删除
delete from 表名 where条件
没有条件就全删
posted @ 2018-09-11 17:25  い年少有为  阅读(114)  评论(0编辑  收藏  举报