数据库小结一
什么是数据库
数据库即存放数据的仓库
数据库是长期存放在计算机内的有组织的可共享的数据集合
优点
-
数据稳定性:一套服务所在的机器崩溃了不会影响数据和另外的服务
-
数据一致性:所有数据一起,所有程序操作的数据都是统一的
-
-
效率:使用数据库对数据进行增删改查的效率高很多
关系型数据库
Mysql oracle sun db2
非关系型数据库
没有能帮我们维护数据之间的关系
常见存储介质为内存
mongoDB redis
数据库重要概念
数据(Column) 文件中的某个字符串
记录(Row) 文件中的某一行
表(table) 某个文件
库(database) 文件夹
DBMS 数据库管理系统(数据库软件)
数据库服务器 运行DBMS的计算机
常见参数
-h 主机名称
-p 指定端口 默认是3306 可以不写
-u 制定用户名
-p 制定密码
添加环境变量
注册 mysqld --install
删除 sc delete mysql
启动服务 net start mysql
停止服务 net stop mysql
查找某个进程
tasklist | findstr mysqld
杀死进程
taskkill/f/pid 1111
管理员密码设置
1.指导原始密码
1.1 登录到mysql制定更新语句
update user set password = password("123") where host = "localhost" and user = "root"
刷新
1.2 mysqladmin工具
mysqladmin -uroot -p123 password 321
-p是原始密码
2.不知道原始密码
2.1 删除权限相关的文件
2.2 跳过授权表
手动启动mysql制定参数
mysqld -skip-grant-tables
update user set password = password("111") where host = "loaclhost" and user = "root"
重启mysql就可以
重启mysqld
库的操作
#切换数据库
use 数据库名称 可以不加分号
# 查看所有数据库
show databases;
show create databases;
# 创建新的数据库
create database 数据库名称
create database 数据库名称 charset utf8; 制定编码方式
# 删除数据库
drop database 数据库名称
# 修改数据库编码 可以进入到数据库文件夹修改db.opt
# 第一行是编码 第二行是排序规则
# 修改数据库名 可以直接修改对应的文件夹名称
表的操作
show 查看
show create table 表名称
删除 drop
清空 truncate table 名称
添加字段 alter table 表名 add 列名称 数据类型;
删除字段 alter table 表名 drop 列名称
修改数据类型 alter table 表名 modify 列名称 新的数据类型
修改列 alter table 表名 change 旧的列名 新的列名 新的类型;
修改表的名称 rename table 旧名称 to 新名称;
修改编码 alter table 表名 charset utf80;
配置文件的使用
配置文件需要放在安装目录的根目录,bin同一级
# 客户端 除了mysql之外的 客户端的配置修改之后 只需要退出重新连接即可
[client]
user = root
password = 111
default-character-set = utf8
# 服务器端配置 需要重启服务器
[mysqld]
character-set-server = utf8
2.表的分类 数据库引擎
常用的innodb
数据库引擎指的是真正的负责存储数据的模块
增删改查
插入数据
insert into 表名 values(v1,v2...)# 该方式必须保证插入的数据个数与表格字段一一对应
查询
select * from 表名
select 字段 from 表名 where 条件;
更新
update 表名 set 新值,值; 修改所有记录
update 表名 set 新值,值 where 条件;
删除数据
delete from 表名; 删除所有记录
delete from 表名 where 条件; # 删除满足条件的记录
修改数据库语法
alter database 数据库名称 charset utf8;
select database() 查看当前库
mysql中的数据类型
整形
tinyint 1个字节 无符号的8bit 最大255 有符号7个bit 127 -128
smallint 2个
mediumint 3个
int 4个 最常用 如果你的数据超过10位 用bigint
bigint 8个
浮点型
两种不精确的小数
float 可以精确到 大约5位
double 比float更精确
如果对精确度要求比较高 需要使用decimal 类型
decimal 需要指定 位数如下: 位数不包括小数点
decimal(65,30) 总长最大65 小数30
字符串
char 定长字符串
优点:读取速度快
缺点:浪费磁盘空间
varchar 长度可以变的字符串·
优点:节省空间
缺点:速度慢
枚举和集合
枚举是提前规定一个范围 你的值只能是其中之一 多选一
集合是以前规定一个范围 你的值可以是其中的多个 多选多
集合在插入数据时,多个值用逗号隔开 ,但她们必须包含在同一个字符串内
日期和时间
year
data
time
这三种都可以使用字符串或者数字两种方式输入值
datetime
datastamp