一、数据库基本介绍
服务端MySQL
- 连接:mysql -h127.0.0.1 -uroot -p123456
- h:IP地址,服务器地址
- u:用户名
- p:密码
DMBS
Database Management system数据库管理系统,关系型数据库
- SQL server
- mysql
- oracle 收费
- DB2 收费
非关系型数据库
- redis
- mongdb
先有库,后有表
建库,建表
show databases;
use mysql;
show tables;
安装可视化工具
常用的数据类型:
- 整数:int,范围()
- 小数:decimal(5, 2)
- 字符串:varchar,范围(0~65533),如varchar(3)最多3个字符
- 日期时间:datetime,
二、基本SQL语句
数据表操作
创建表
create table stu(
name varchar(20),
age char(1))default charset=utf8;
修改表
添加字段
alter table 表名 add 字段名 约束;
删除字段
alter table 表名 drop 字段名;
修改字段
alter table 表名 change 原字段名 新字段名 约束;
增-插入记录
insert into 表名(列) values(值);
删-删除记录
delete from 表名 where 筛选条件;
delete from 表名; 如果不加条件直接清空表中所有记录
改-更改记录
update 表名 set 列名=(新) 值 where 列名=(旧)值;
查-查询记录
select 列名1,列名2, ...,列名n from 表名 where 筛选条件;
select * from 表名; 查询所有字段
select id,name from 表名; 只查询id,name字段
select count(*) from 表名; 计数
select name as '姓名' from 表名; 给字段起别名
select sum(age) as '年龄总和' from 表名;
select avg(age) as '平均年龄' from 表名;
select max(age) as '年龄最大' from 表名;
select min(age) as '年龄最小' from 表名;
模糊查询
like
% 0,1,或多个
_,代表一个
['李','张']三
[^'李','张']三
select * from 表名 order by asc; 升序
select * from 表名 order by desc; 降序
select * from 表名 limit 起始位,查的数量;
select distinct 字段名 from 表名; 去重
内连接查询
select 字段名1,字段名2 from 表1,select * from 表2 where 表1.字段名=表2.字段名;
select 字段名1,字段名2 from 表1 inner join 表2 on 表1.字段名=表2.字段名;
mysql中常用的函数
1、substring(str,start,stop)
str:要截取的字符串
start:起始下标,注意不是0,起始下标是1
stop:终止下标
三、相关知识
数据库范式
- 第一范式 ,原子性,不可分割
- 第二范式,非主键列完全依赖于主键列
- 第三范式,内部没有依赖关系
- 巴斯-科德范式(BCNF)
- 第四范式(4NF)
- 第五范式(5NF,又称完美范式)。
create view 视图名 ()as select ...
事物特性 ACID
- 原子性:事物是一个最小原子,要么成功,要么失败
- 一致性:事物提交之后,数据必须一致
- 隔离性:事物和事物之间是隔离的
- 持久性:提交后事物要被永久保存