Mysql 操作
创建数据库
//charset=utf8 指定字符集
create database 数据库名 charset=utf8;
使用数据库
use 数据库名;
创建表结构
create table 表名(
id int priamry key auto_increment not null, //字段 数据类型 主键 自增 不能为空
name varchar(30) //字段 字符型
);
添加表数据
insert into 表名 values
(1,"添加的数据"),
(2,"要添加的数据");
关联字段,外键
外键的作用:约束多表中的数据必须是在主表中存在
逻辑外键:所谓的逻辑外键就是一个普通的字段(数据类型为 int )
物理外键:使用 foreignkey 约束过的字段
物理外键和逻辑外键的不同:ORM查的时候必须是使用物理外键,不能使用逻辑外键
一般公司使用的都是逻辑外键
// 物理外键
c_id foreignkey references 关联表.id
// 逻辑外键
c_id int
数据查询
单表查全部
select * from 表名;
查数据时给字段起别名
select 字段名 as 别名 from 表名;
单表条件查询
select * from 表名 where 条件; eg:select * from student where id=1;
多条件查询
select * from 表名 where 条件 and 条件; eg:select * from student where id=1 and age>12;
排序
select * from 表名 order by 排序的字段 desc/asc; // asc 正序 desc 倒序
分页
select * from 表名 limit 0,3; //每页3条,查第一页
区间
select * from 表名 where id between 1 and 3; //查询id在1到3之间的所有数据
分组
select age from 表名 group by age; //根据age分组
查看分组下的所有姓名
select age,group_concat(name) from 表名 group by age;
关联表查询
inner join: 两表平等
// student s 给student表起别名
select s.name,c.name from students s inner join classes c on s.cls_id=c.id where s.name="⼩明";
left join:以左表为主
right join:以右表为主
删除
条件删除一行表数据
delete from 表名 where 条件;
删除表
drop table 表名;
查看表结构
desc 表名;
修改
在表中添加新字段
alter table 表名 add 字段名 数据类型;
在表中修改字段名
alter table 表名 change 旧字段名 新字段名;
在表中修改字段属性
alter table 表名 modify 字段名 数据类型 其他属性;
在表中删除字段
alter table 表名 drop 字段名;