今日内容:
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; 重建表,清空所有数据;