MySQL学习笔记11.10记

操作数据库

create database if not exists NAME

drop database if exists NAME

use `NAME

show databases


数据库的列类型

数值(范围)

tinyint(十分小)1

smallint(较小)2

mediumint(中等大小)3

int(标准)4 常用

big(较大)8

float(浮点数)4

double(浮点数)8

decimal(字符串形式的浮点数)金融计算的时候,一般使用

字符串(长度)

char 0~255

varchar 0~65535 常用

tinytext 0~2^8-1

text 0~2^16

时间日期

java.util.Date

date YYYY-MM-DD日期格式

time HH: mm: ss时间格式

datetime YYYY-MM-DD 最常用的时间格式

timestamp 时间戳 1970.1.1到现在的毫秒数

year 年份表示

null


数据库的字段属性(重点)

Unsigned

无符号的整数

声明了该列不能声明为负数

zerofill

0填充的

不足的位数,使用0来填充

auto incr

自增

Null or not Null

notNull,如果不填写,就报错

Null,如果不填写,默认就是null

默认

设置默认值

id主键

'version'乐观锁

is_delete伪删除

gmt_create创建时间

gmt_update修改时间


创建数据库表

'id'名称 'int(4)'类型 是否空 是否自增 默认为   comment注释

格式

create table [if not exists] `表明`(

        `字段名` 列类型 [属性] [索引] [注释],

)[表类型][字符集][注释]

数据库引擎

innodb默认使用

myisam早些年使用的


数据库类型


修改表

alter table 旧表名 rename as 新表名

alter table 表名 add 字段名 属性

alter table 表名 modify age varchar修改表的约束

alter table 表明 change 旧字段 新字段 约束


DML(操作语言

insert插入(添加)

insert into 表明 ([字段1,字段2,字段3])values('值1','值2','值3')

update修改(条件)

update `表名字` set `字段`='名字',`字段`='名字' where id=1 and/or name='1';

delete删除

delete from 表名 where 条件

truncate清空

truncate清空表

两者特点都不会删除表结构,truncate重新设置计数器与不影响事务,delete会


DQL(查询语言     ※※※

最核心心心心心心心心心心心心心的语言

所有查询操作都用它 Select

简单的查询,复杂的查询它都能做

select `字段` as 别名 from 表名 as 别名

concat(a,b)拼接

select concat(a,`字段`) [as] 别名 from 表名 [as] 别名

去重 distinct

select distinct `字段` from result

tips:between and区间

表达式

select 表达式 [as] 别名 from 表名 [as] 别名

模糊查询

like+%,后面任意字符

like+_,后一个字符

连表查询

inner join如果两个表有共同值,可以连表

left join可以把主表(左)全部使用,并且使用右的部分

right join可以把右表全部使用,并且使用左的部分

当前已改装的select

select [distinct]`字段`

from [join on] [join on]

where [like]

分页和排序

order by通过哪个字段排序,怎么排

order by studentname  ASC DESC

limit 起始值,页面大小

子查询

select XX from XX1 where A(select A from XX2)


常用函数

MySQL函数大全,MySQL常用函数汇总 (biancheng.net)

ps:忘了就查


聚合函数

count计数 max最大

sum求和 min最小

avg平均


MD5加密

具体的值的md5是一样的(打表法)

MD5( )


事务

要么都成功,要么都失败

ACID 原则(原子性,一致性,隔离性,持久性)

set autocommit =0关闭自动提交

start transaction开始一个事务

update 表 set 字段 where

 commit

rollback

set autocommit =1


索引

index是帮助mysql高效获取数据的数据结构,提取句子主干,就可以得到索引本质

索引分类

primary key主键索引且不可重复

unique key唯一索引,避免重复的列出现

key默认普通索引

fulltext全文索引

索引用法

create index 索引名 on 表(`字段`)


数据库备份

方式:

直接copy物理方式

可视化工具手动导出

mysqlump命令使用

(mysqlump -h 主机 -u用户名 -p密码 数据库 表明 >  物理磁盘位置/文件名)


规范数据库设计

收集信息,分析需求

标识实体

标识实体之间的关系

三大范式

第一范式

要求数据库的每一列都是不可再分的原子数据项

第二范式

每张表只描述一件事,消除直接依赖

第三范式

消除间接依赖

可以为了性能,违反范式


JDBC(java操作数据库的规范)

数据库驱动

啊,还没有学java,先留在这里把


备用


备用

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值