Mysql资料形态
int | 整型 | |
decimal(m,n) | 有小数点的数 | m:总共几位数 n:小数点后面有几位 eg:decimal(3,2) 3.22 9.21 |
varchar(n) | 字串 | n:最多存放几个字符 |
blob | 图片、影片、档案… | |
date | 日期 | YYYY-MM-DD 2025-03-19 |
timestamp | 记录时间 | YYYY-MM-DD HH: MM: SS |
SQL操作语句
基本语句
创建数据库:
create database `sql_my`;
使用数据库:
use `sql_my`;
创建表格:
create table `student`(
`student_id` int,
`name` varchar(20),
`major` varchar(20),
primary key (`student_id`)
);
//或者
create table `student`(
`student_id` int primary key,
`name` varchar(20),
`major` varchar(20)
);
显示表格:
describe `student`;
删除表格:
drop table `student`;
在表格中增加属性:
alter table `student` add gpa decimal(3,2);
在表格中删除属性:
alter table `student` drop column gpa;
资料储存
在表中插入数据:
insert into `student` values(1,'小白','历史');// 字串用单引号或双引号都可以
insert into `student`(`name`,`major`,`student_id`) values('小白','历史',1);//自己决定填入属性的顺序
insert into `student`(`name`,`student_id`) values('小白',1);//可以不填表示NULL
insert into `student`(`name`,`major`,`student_id`) values('小白',null,1);
constraints 约束限制
create table `student`(
`student_id` int auto_increment,//自动加值
`name` varchar(20) not null, //不允许为空
`major` varchar(20) unique //必须是独特的值
`favorite` varchar(20) default '体育' //预设默认值
primary key (`student_id`)
);
修改资料:
update `student`
set `major`='生化', `name`='小灰'
where `major`='生物' or `major`='化学';
删除资料:
delete from student
where student_id = 4;
//多个条件
delete from `student`
where `name` = '小灰' and `major` = '物理';
搜寻资料:
列出表中所有资料:
select *from `student`;
列出表中一项资料:
select `major` from `student`;
列出表中多项资料:
select `major`,`name` from `student`;
列出排序后的资料:
select * from `student` order by `score` desc;//desc为降序排列,默认升序asc
select * from `student` order by `score`,`student_id`;//先根据score排序,score相同根据student_id排序
只取部分资料:
select *
from `student`
order by `score` desc
limit 3;
可以混用 :
select *
from `student`
where `major`='历史'
order by `score` desc
limit 3;
等价的判断条件:
where `major`='历史' or `major`='英语' or `major`='生物';
where `major` in ('历史','英语','生物');