day38

今日内容:

  1.认识数据库

  2.修改默认密码

  3.常用操作指令

1.认识数据库

什么是MYSQL?
是一个关系型数据库管理系统,基于socket编写的C/S架构的软件
什么是数据库?
数据:用于记录事物状态的符号
记录:描述事物的典型特征的组合,在文件中就是有一行文本
表:一个文件
库:一个文件夹
文件处理就可以将数据永久保存

用我们之前所学的文件处理来保存数据的问题:
1.管理不方便
2.文件操作效率问题
3.一个程序不太可能仅运行在同一台电脑上


提高计算机性能的方式:
    1.垂直扩展:为计算机更换性能更好的硬件
    2.水平扩展:就是添加更多的计算机,把人物分配给每一台(分布式计算)
        分布式计算的好处
        1.其中某一台崩溃了,不会导致整个系统瘫痪 稳定性高
        2.理论上性能可以无限扩展

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

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

目前常见的数据库
    关系型数据库
        数据与数据之间可以建立关联关系(用户数据和购买信息)
    SQLSever
        仅支持windows
    MySQL
        免费 开源 性能不差
    Oracle
        目前最牛的数据库 收费高
    DB2
        IBM 收费的 一般与计算机绑定销售

    非关系型数据库
        速度贼快
        key value 存取
    MongoDB
    redis
    memcache

  

2.修改默认密码

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

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

安装mysql得到两个程序
1.服务器程序
    存取数据时服务器的工作
2.客户端程序
    命令服务器来完成存取工作
    客户端将命令发送给服务器 服务器解析执行命令 返回客户端要的数据

    服务器为了保证数据安全需要进行用户验证
    默认有一个root 账户 默认没有密码 不安全
    需要修改密码:
        在服务器的终端中执行
        mysqladmin.exe -u要改的用户名 -p旧密码 password 新密码
        在服务器上执行命令时 如果看到Install/Remove of the Service Denied!说明权限不够
            需要以管理员身份执行CMD
         如果忘记密码 要破解 也需要在服务器终端启动mysql服务 并且需要添加跳过授权表的参数

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

    常见sql命令
    客户端使用:
    show databases;(查看所有数据库名称)

    use 数据库名称(选择某个数据库)

    quit/exit(退出客户端)

    服务器端使用:
    mysqld
    mysqladmin

  

3.常用操作指令

基本sql语句
1.库相关
增
create database mydb charset utf8;
查 
show databases;
show create databases mydb;
改
alter database mydb charset gbk
删
drop database mydb;
2.表相关
增
切换⽂件夹 (选择数据库)
use mydb;
create table t1 (id int,name char)
查
show tables;
show create table t1;
desc t1;
改
改字段
alter table 表名 add | modify | drop | change 
add 跟 列名和类型
modify 跟 列名 和 类型
查看更多
drop 跟列名
change 跟 旧列名 新列名 类型
改字符编码
alter table 表名 default character set gbk
改名称
rename table tname1 to tname2
删
drop table 表名
3.记录相关
增
nsert into tablename values(data,....),(data)...
查
select id,name from t1; 列名可⽤*号表示通配符
改
 update 表名 set 列名 = 值 where 条件 ; 可同时修改多个
字段
⽤逗号隔开 列名=值,列名=值...
没有条件则修改全部
删
delete from 表名 where 条件;
没有条件则删除所有;
truncate table t1;
重建表,清空所有数据;

  

原文地址:https://www.cnblogs.com/yaoxiaofeng/p/9629938.html