day07
mysql
mysql介绍
-
mysql概述
- 1、是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品
- 2、MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,而且开源
- 3、数据库是存储数据的一个仓库,本质就是一个文件系统,在文件中按照特定的格式存储数据,我们可以对这个文件系统(数据库)中的数据进行增删改查的操作。
-
常见的关系型库
-
Oracle
- #主流,付费
-
Mysql
- 主流,开源,使用最多,与Oracle一个公司
-
SqlServer
- #注流,微软研发
-
DB2
- #IMB研发
-
-
关系数据库特点
关系型数据库,表与实体类之间存在对应关系
-
非关系型数据库
- redis
- mangodb
- memcache
-
关系型数据库和非关系型数据库(Nosql)区别
-
1 关系型数据存储在硬盘上
-
2 非关系型数据库存在内存中
-
3 非关系型数据库就是来做缓冲的
-
什么数据适合放入缓冲中
- 1、这个数据不容易发生更改
- 2、用户经常查询的数据
-
mysql安装
MySQL卸载
数据库的基本操作
-
(一)、忘记MySQL登录密码
-
1、在计算机中停止mysql服务
-
2、找到mysql安装目录,找到安装目录的ini配置文件
-
3、在配置文件内加入一句话skip_grant_tables,这个话的意思就是跳过密码验证,并重启mysql服务
-
4、进入mysql修改密码的语句
- update user set password=password(‘root’) where user =‘root’
-
4、删除配置文件中跳过密码验证,并重启服务
-
-
(二)、通过DOS直接访问MySQL
-
(三)、MySQL服务的开启与关闭命令
sqlyat
- 设置关键字小写
SQL语言及分类
SQL:结构化查询语言 。就是一种计算机语言,我们可以用它来操作数据库,用它对数据库中的数据进行增删改查(crud)
-
DDL(Data Definition Language)数据库定义语言,库操作。
-
create :创建 alter:修改 drop:删除
-
1、DDL库操作
-
创建数据库
- create database 数据库名称
-
创建指定编码集的数据库
- create database 数据库名称 character set 字符集
-
删除数据库
- drop database 数据库名称
-
查看所有的数据库
- show databases;
-
-
2、DDL表操作
-
选中数据库数据库
- use 数据库名
-
创建表
- create table 表名(字段名 字段类型,字段名 字段类型,字段名 字段类型);
-
删除表
- drop table 表名
-
查看当前数据库下所有的表
- show tables
-
查看表结构
- desc 表名
-
修改表名
- alter table 表名 rename 新表名
-
添加列
- alter table 表名 add column 字段名 字段类型(长度);
-
修改列字段类型
- alter table 表名 modify 字段名 字段类型
-
修改列名称
- alter table 表名 change 字段名 新字段名 字段类型
-
删除列
- alter table 表名 drop 字段名
-
-
-
-
DML(Data Manipulation Language)数据操纵语言,表中数据的增删改。
-
insert (增加数据)
update(修改数据)
delete(删除数据)-
1、DML数据的操作添加数据
-
第一种
- insert into 表名 (字段名,字段名…) values(1,‘小苍’,20.1);
-
第二种
- insert into 表名 values(1,‘小苍’,20.1);
-
-
3、SQLyog的基本使用
-
4、DML数据的操作(删除)
-
删除表中某行数据
- delete from 表名 where 字段名 = 字段值
-
删除表中全部数据
-
第一种
-
第二种
-
delete from & truncate table 区别
-
效率上
- truncate 效率比delete 快
-
删除方式
- delete 逐行删除
- truncate 直接删除表,然后给你创建一个一模一样的表
-
回滚
- delete 删除完之后 可以回滚
- truncate 删除就是永久删除
-
主键自增上
- delete 删除后 主键 记忆主键
- truncate 删除表后, 主键 从1开始
-
-
-
-
5、DML数据的操作(修改)
- update 表名 set 字段名=字段值,字段名=字段值… where 字段名 = 字段值
-
-
-
DQL 数据查询语言
-
查询表中所有数据
- select * from 表名
-
简单查询根据筛选条件
- select * from 表名 where 字段名 = 字段值
-
简单查询某几列根据筛选条件
- select 字段名,字段名 from 表名 where 字段名 = 字段值
-
-
DCL 数据库的权限管理(了解)
- DBA
MySQL中的数据类型
-
数值类型
- int
-
浮点类型
- float、double
-
字符串类型
-
varchar
- String
-
-
日期类型
-
Date
- 年月日
-
Time
- 时分秒
-
DateTime
- 标准日期类型:年月日时分秒
-
Timestamp
- 时间戳:年月日时分秒
-
Datetime Timestamp区别
- Datetime :最大值是9999年12月31 23:59:59、默认值null
- Timestamp :最大值是2037年12月31 23:59:59、默认值当前系统时间
-
约束
-
主键约束
-
规定数据唯一,非空,通常情况下 每张表只有一个主键,用来保证数据唯一性
- alter table 表名 modify id int primary key
-
-
主键的自增长
-
让数据库维护主键 每插入一条数据id就会自增一次
-
前提条件
- 主键类型必须是int
-
alter table 表名 modify id int auto_increment
-
-
-
非空约束
-
约束咱们某列不为空
- alter table 表名 modify 字段名 字段类型 not null
-
-
默认约束
-
当某列没有给具体内容的时候,有个默认内容
- alter table 表名 modify 字段名 字段类型 default 具体内容
-
-
唯一约束
-
规定某列不能有重复内容
- alter table 表名 modify 字段名 字段类型 unique
-
数据的备份
- 导入
- 导出