根据老师讲解,自己对学习的整理,非本人原创知识
数据库
数据库概述:
专门用来村粗数据和管理数据库的一个仓库,英文名database
分类:
关系型数据库和非关系型数据库
关系型数据库:
存储的数据都有关系,代表:Mysql/Oracle等
非关系型数据库:
存储的数据中有着松散的关系,代表:Redis
服务端:存储数据,管理数据
端口号默认是3306,设置密码,服务名Mysql
客户端:连接服务端,操作服务端的数据
DOS窗口/可视化工具sqlyog
登录数据库:mysql -uroot -proot
为个人用户名和密码,根据自己账户密码使用
数据库结构:
数据库->表(字段1,字段2...)->数据/记录
SQL语言
全称是结构化查询语言,专门用来操作数据库的语言
而且是一个标准语言,可以操作任何数据库
SQL的分类
DML:是指数据库的操纵语言,就是对数据库的操作(增删改查CRUD)
DDL:是指数据库的定义语言,比如创建表...
DCL:是指数据库的控制语言,比如说权限管理
DQL:是指数据库的查询语言,比如进行复杂的查询语句
基本SQL语言:
注意中英文
对库进行操作:
查询
show databases;
展示 数据库s 结束符号
新建
create database 库名;
新建 数据库 库名;
create database 库名 default character set utf8;
防止中文乱码
删库(删库需谨慎)
drop database 库名;
对表进行操作:
首先需要使用数据库
使用数据库
use 库名
使用
展示数据库中的表
show tables;
展示 表s
创建
create table 表名(
字段名,属性(大小), #逗号分隔
字段2,属性(大小),
...
); #分号结束
提示:Query OK, 0 rows affected (0.01 sec)
表示创建成功;
修改属性
alter table 表名 add column 字段名 字段类型(字段长度);
修改 表 表名 添加列/字段 字段名 字段类型(字段长度)
删除
drop table 表名;
删除 表 表名
查看表属性
desc 表名;
描述 表名
查询表中内容
select * from 表名;
查询 通配符(*表示所有) 来自 表名
插入数据
insert into 表名 values(字段1的值,字段2的值,...);
插入 表名 插入多个值(需要按照字段顺序依次添加)
修改字段
update 表名 set 字段名 = '字段值' ,字段2='字段值';
修改 表名 设置 字段名 = 字段值 单引号包裹'',修改多个值用逗号隔开
删除
delete from 表名;
删除 来自 表名
数据类型
数字
整型 int/tinyint
区别 int所占空间比tinyint大,int(1)和int(4)所占空间相同
无论Int后数字多少都为±21.47亿
小数 float/double 精确的小数
float单精度
double双精度
numeric(5,2)/decimal(5,2)
5是指5为数字,2是指包含的小数位数
日期
年月日 date
时分秒 time
年月日时分秒 datetime
毫秒数 timestamp
字符串 char/varchar的区别
char 长度固定,浪费空间但是查询速度快
varchar 长度可变,节省空间,但是查询速度比较慢
字段约束
概述:
是通过不同的方式,给不同的字段添加不同的约束,实现不同的效果
常见的字段约束:
非空约束
给字段添加非空约束,及字面意思字段不能为空,通过not null来实现
例如:
create table 表名(
字段名,属性(大小) not null, #逗号分隔
字段2,属性(大小),
...
);
唯一约束
给字段添加了唯一约束,表示字段的值不能重复,通过unique实现
create table 表名(
字段名,属性(大小) unique, #逗号分隔
字段2,属性(大小),
...
);