mySQL 安装与配置:
https://blog.csdn.net/clouderpig/article/details/79556149
主键:唯一,不为空,自增长
外键:逻辑外键
元组:每行记录
1、第一范式1NF
每一个属性都是原子项,不可分割。
2、第二范式2NF
每张表只能表达一个事务,每张表里具有属性只能依赖于主键
3、第三范式3NF
满足第二范式,并且表中的列不存在对非主键列的传递依赖。
参考https://blog.csdn.net/xidianliuy/article/details/51566576
数据类型
int 类型
double/float 浮点型
char 固定长度字符串类型
varchar 可变长度字符串类型
blob(binary large object)二级制大对象 多用于存储图片
date 日期类型,格式为:yyyy-MM-dd
time 时间类型,hh-mm-ss
timestamp 时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime 日期时间类型 yyyy-MM-dd hh:mm:ss
分页查询
select * from product limit 0,2
select * from product limit a1,a2
// a1代表开始查询的索引,a2代表页量
第一个参数:(pageindex-1)*pagesize;//pageindex就是第几页//如:第1页,则(1-1)*2=0;
第二个参数:pagesize;
把对象流化:把对象转换成二进制编码,加快数据读写操作,提高性能
DDL: 用来定义数据库对象,表,列,即创建数据库和表的结构
常用关键字:create alter drop
create database 数据库名
drop database 数据库名
show databases;
use 数据库名;//确定使用哪个数据库
desc 表名 //描述表的字段类型
alter table student add sreslit int(30);
alter table student change sname sname varchar(30);
alter table student drop sresult;
rename table student to stu;
DML:
update stu set sname=”meng” where sid=9;
关键词顺序
where group by oder by
auto-increament 自增
部分练习代码
create table employee(
id int(6),
name varchar(20),
gender char(2),
birthday date,
entry_date datetime,
job varchar(20),
salary float
);
insert into stu values(1,”zhao”,”123”,’2018-7-30’),
(2,”qian”,”123”,’2018-7-30’),
(3,”sun”,”123”,’2018-7-30’),
(4,”li”,”123”,’2018-7-30’),
(5,”zhou”,”123”,’2018-7-30’),
(6,”wu”,”123”,’2018-7-30’),
(7,”zheng”,”123”,’2018-7-30’),
(8,”wang”,”123”,’2018-7-30’),
(9,”qian”,”123”,’2018-7-30’),
(10,”lu”,”123”,’2018-7-30’);
create table product(
pid int(4) primary key auto_increment,
pdate date,
pmoney double(7,2),
pcompany varchar(20)
);
insert into product(pdate,pmoney,pcompany) values(‘2018-7-20’,4000,”ali”),(‘2018-7-21’,6000,”ali”),(‘2018-7-22’,700,”ali”),
(‘2018-7-25’,12000,”tencent”),(‘2018-7-26’,11100,”tencent”),(‘2018-7-29’,4000,”baidu”),(‘2018-7-30’,4000,”baidu”);
create table employee(
id int,
name varchar(20),
salary double,
department varchar(30),
position varchar(20),
entrydate date
);
insert into employee (id ,name,salary,department,position,entrydate) values(5,”lewrf”,10000,”marketing”,”manager”,’2018-7-30’),(6,”jedwqck”,13000,”marketing”,”manager”,’2018-7-20’),
(7,”jeewweson”,25000,”marketing”,”manager”,’2018-7-28’);
create table employee(
e_name varchar(20),
e_sex char(2),
e_age int,
e_address varchar(10)
);
insert into employee values(“张三”,”女”,19,”北京”),(“李四”,”男”,20,”上海”),
(“王五”,”女”,25,”广州”),(“薛六”,”女”,20,”北京”),(“王五”,”男”,22,”北京”),
(“赵七”,”男”,28,”上海”),(“张四”,”女”,23,”北京”);