一、认识数据库
定义:数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的
表:文件
数据库:文件夹
数据库服务器:是一台计算机
数据库管理系统:是一个软件
文件系统管理阶段:优点:1.数据可以长期保存 2.由文件管理系统管理数据
缺点:1.数据共享性差 2.数据独立性差
数据库系统管理阶段:1.数据结构化 2.数据共享 3.数据独立性高 4.数据有DBMS统一管理和控制
分类:关系型:如sqllite,db2,oracle,access,sql server,MySQL 需要表结构
非关系型:mongodb,redis,memcache key-value存储,没有表结构
二、MySQL
定义:本质是一套软件,由客户端和服务端组成,C/S架构写成
设置密码
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得到两个程序
1.服务器程序
存取数据时服务器的工作
2.客户端程序
命令服务器来完成存取工作
客户端将命令发送给服务器 服务器解析执行命令 返回客户端要的数据
服务器为了保证数据安全需要进行用户验证
默认有一个root 账户 默认没有密码 不安全
需要修改密码:
在服务器的终端中执行
mysqladmin.exe -u要改的用户名 -p旧密码 password 新密码
在服务器上执行命令时 如果看到Install/Remove of the Service Denied! 说明权限不够
得用管理员身份运行
如果忘记密码 要破解 也需要在服务器终端启动mysql服务 并且需要添加跳过授权表的参数
mysql -uroot -padmin 用mysql自带的客户端登录服务器
-u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端不需要指的 -h -P
常见sql命令
show databases;
查看所有数据库名称
use 数据库名称
选择某个数据库 就是进入文件夹
quit or exit 退出客户端
三、sql语句
数据库服务器中存放的是 库(文件加) 表(文件) 表里面是记录(一行数据)
库相关
创建
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条件
没有条件就全删