mysql基础知识

MySQL

安装

zip安装

  1. 解压文件
  2. 配置环境变量(bin目录)
  3. 在解压文件夹下新建my.ini文件并且追加内容
[mysqld]
port = 3306
basedir=安装的目录
datadir=安装的目录/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
  1. dos窗口进入解压目录的bin目录下
  2. 执行指令
mysqld -install
  1. 提示"Servoce successfully installed"表示安装成功
  2. 初始化数据库
mysqld --initialize-insecure --user=mysql
  1. 执行后目录出现data文件夹,表示初始化成功
  2. 开启mysql服务
net start mysql
  1. 开启后mysql的root用户为空,设置密码
mysqladmin -u root -p password 新密码
Enter password: 旧密码

msi安装

  1. 选择 Custom–> Next
  2. 选择安装的目录–>Next
  3. 选择Detailed Configuration–>Next
  4. 选择Developer Machine–>Next
  5. 选择Multifunctional Database–>Next
  6. 选择InnoDB数据文件的存放目录选择目录即可–>Next
  7. Decision Support(DSS)/OLAP–>Next
  8. 配置端口–>Next
  9. 配置字符集,选择Manual Selected Default Charactor Set/Collation文本框写utf8–>Next
  10. 设置服务Install As Windows Service和Include Bin Directory in Windows PATH都勾选–>Next
  11. 设置用户密码–>Next(记得把Enable root access from remote machines勾选上)
  12. 等待安装完成即可

范式

1FN:一个列不能有多个值

2FN:仅有一个唯一的主键

3FN:一张表字段不允许关联非主键

什么是数据库

数据库(DataBase:DB)是按照数据结构来组织、存储和管理的数据仓库

常见的数据库

Oracle(Oracle)

DB2(IBM)

MySQL(AB->SUN->Oracle)

SQL Server(微软)

什么是NoSQL

NoSQL(not only sql):结构化数据库技术

常见的NoSQL

  1. 键值存储数据库:Oracle BDB,Redis,BeansDB
  2. 列式存储数据库:HBase,Cassandra,Riak
  3. 文档型数据库:MongoDB,CouchDB
  4. 图形数据库:Neo4J,InfoGrid,Infinite,Graph

什么是SQL

SQL是结构化查询语言(Structured Query Language)。是关系数据库的标准查询语言。

SQL包含6个部分

数据查询语言(DQL)

数据操作语言(DML)

事务处理语言(TPL)

数据控制语言(DCL)

数据定义语言(DDL)

指针控制语言(CCL)

数据库常用操作

查看数据库有哪些库

show databases;

使用指定数据库

use 数据库名;

查看库中的表

show tables;

创建数据库

create databases 数据库名;

删除数据库

drop databases 数据库名;

查看表结构

desc 表名;

查看创建的ddl语句

show create table 表名;

mysql与java的对应类型

JavaMySQL
intINT
longBIGINT
BigDecimalDECIMAL
java.util.DateDATE/DATETIME
StringVARCHAR
floatFLOAT
doubleDOUBLE

char与varchar的区别

一个可变一个不可变。char是不可变的填充完内容若内容未使用完使用" “填补,varchar是可变的若内容未填充满则不会用” "填补

date与datetime的区别

date不能精确到时分秒,datetime可以精确到时分秒,根据用户的需求来使用

Java中boolean值在数据库中的存储方式

使用bit一般存储为0和1,0表示false,1表示true。

约束

非空约束:not null表示内容不能为空

唯一约束:unique表示该列的内容必须唯一

主键约束:primary key非空且唯一

外键约束:foreign key表示该列的值参照其他表的内容

默认值:default表示用户不填写该内容使用默认值填充

主键自增长:auto_increment自增列

DML操作

添加

insert into(字段...) values(字段值...)

更新

updateset 修改字段=where 指定字段=

删除

delete fromwhere 指定字段=

DQL操作

查询单表

select 字段 from

过滤查询

select 字段 fromwhere 指定字段=

去重查询

select distinct 字段 fromwhere 指定字段=

指定别名

select 字段 as 别名 from

过滤查询(比较运算符)

select 字段 fromwhere 字段>

常见的比较运算符

运算符含义
=等于
>大于
>=大于等于
<小于
<=小于等于
!=(<>)不等于

过滤查询(逻辑运算符)

select 字段 fromwhere 表达式1 and 表达式2

常见的逻辑运算符

逻辑运算符含义
and两个满足则满足
or两个有一个满足则满足
not满足时不满足,不满足时满足,取反

范围查询

select 字段 fromwhere 字段 between 范围值1 and 范围值2

表示该字段的范围值为范围值1~范围值2

集合查询

select 字段 fromwhere 字段 in (1,2...)

表示该字段必须为in的内容

空值查询

select 字段 fromwhere 字段 is null

判断该字段是否为空

模糊查询

select 字段 fromwhere 字段 like '需要模糊查询的字段'

%值:表示该字段结尾必须为该值

值%:表示该字段开头必须为该值

%值%:表示该字段有该值

_:表示任意一个字符

结果集排序

select 字段 fromorder by 字段 排序方式
排序方式含义
asc升序(默认)
desc降序

分页查询

select 字段 fromlimit 从第几个开始,显示多少行

第一个参数=(页数-1)*显示的行数

第二个参数=显示的行数

聚合函数

select count(*) from

常见的聚合函数

函数名作用
count统计记录数
max最大值
min最小值
sum求和
avg平均值

隐式内连接查询(不推荐,因为会和查询的判断混在一起)

select 字段 from1,2 where1.字段=2.字段

显式内连接查询(推荐,连接和查询分开)

select 字段 from1 join2 on1.字段=2.字段 where 查询条件

A与B都有的那部分(包括AB两表的数据)

左外连接

select 字段 from1 left join2 on1.字段=2.字段 where 查询条件

A与B都有的那部分(包括AB两表的数据)+A独有的数据

右外连接

select 字段 from1 right join2 on1.字段=2.字段 where 查询条件

A与B都有的那部分(包括AB两表的数据)+B独有的数据

分组查询

select 分组字段,函数 fromgroup by 需要分组的字段

分组过滤

select 分组字段,函数 fromgroup by 需要分组的字段 having 分组需要过滤的条件

单行函数

函数名作用
day(参数)获取日期中的天数
hour(参数)获取time对应的小时数
minute(参数)获取time对应的分钟数
month(参数)获取date对应的月份
year(参数)获取date对应的年份
last_day(参数)获取该月的最后一天

注:mysql 的执行顺序是

from–>join–>on–>where–>group by–>聚合函数–>having–>select–>distinct–>order by–>limit

临时表

select 需要执行的操作 from dual;

数据备份

cmd命令

# 导出
mysqldump -u账户 -p密码 数据库名>到处路径
# 导入
mysql -u账户 -p密码 数据库名<导入路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值