1 mysql回顾
1.1 DDL
数据定义语言:结构
数据库database
create database 数据库名称 character set 字符集 [collate 比较];
drop database 数据库名称;
alter database 数据库名称 character set 字符集 …;
表
create table 表名(字段描述 , … );
字段描述:字段名称 字段类型 字段约束
类型:
char() varchar()
tinyint int bigint double() numeric() …
date / datetime / time /timestamp 时间戳
blob、text 、 longblob、longtext
约束:
主键:primary key ,唯一,不能为null
唯一:unique
非空:not null
自动增长列:auto_increment --> int primary key
外键:foreign key
1.2 DML
插入数据:insert into 表名(字段,…) values(值,…) --> 值必须使用引号,建议单引号
更新数据:update 表名 set 字段=值,。。。。。。 where 条件
删除数据:delete from 表名 where 条件
1.3 DQL
查询语句
select *| id,name from 表名 where 条件
2 SQLyog 安装
SQLyog mysql数据库操作图形化工具,取代cmd。
安装时,参考day13/资料/《SQLyog安装.doc》
服务器没有启动
安装版,将启动注册给操作系统的“服务”–services.msc
net start mysql --> 启动服务
net stop mysql --> 关闭服务
3 多表操作–表与表之间关系
表与表之间关系,指表中数据之间关系的。
分类:一对多、多对多、一对一
3.1 一对多
实例:
国家(1) – ()城市
教室(1) – ()学生
用户(1) – ()订单【】
皇上(1) – ()妃子
实现
1 一对多
- 创建主表,确定主表的主键
- 创建从表,给从表添加外键字段
- 使用 主外键关系 描述 一对多。
create table t_user(
id varchar(32) primary key, #必须要有主键
username varchar(50),
password varchar(32)
);
create table t_order(
id varchar(32),
price double(5,2),
user_id varchar(32) # 必须与主表主键类型一致
);
使用主外键关系 , 从表外键 与 主键主键 形成 主外键关系
格式: alter table 从表表名 add [constraint] foreign key (从表外键) references 主表表名 (主表主键);
alter table t_order add constraint foreign key (user_id) references t_user (id);