找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
show tables;                                         查看所有的表
新建一个kai_user的表
create  table kai_user                                                 创建表名为"kai_user"
(id int(5)primary key auto_increment,                           
name varchar(20)not null,
class int(5),
phone bigint(20)default"13511111111",
time date);

数据类型;
int                                                整型,最大存储为2147483647(10位以下用)
bigint                                        长整型,存储手机号
varchar                                         存字符串(存的数据需要加单引号和双引号)
date                                         时间 如“2022-01-17”
float                                                浮点型 ,小数  

常见的约束有哪些?
primary key                                主见约束,字段值必须是唯一的,不能重复(例如省份证号,有一个且仅一个)
auto_increment                        自增长约束  (例:1条添加一条,自动编码变为2)
not null                                            非空约束
default                                         默认值约束
foregin key                                 外键约束

【对表结构的修改】
desc  kai_user                                                                    查看表结构
alter table kai_user rename fen;                                          将kai_user表名修改为fen;
alter table fen change id sid int(10);                               将表fen的id字段修改为sid并且去掉自增长约束
alter table fen change sid id int(5)auto_increment;           将fen的sid字段修改为id并且自增长约束
alter table fen add id2 int(10);                                          添加id2这个字段
alter table fen add (id3 int(5),id4 int(5));                       同时增加id3,id4两个字段
alter table fen add id5 int(5)first;                                            将id5这个字段放到最前面(只针对新建的)
alter table fen add id6 int(6)after phone;                           将id6字段放在phone字段后面
alter table fen drop id5 ;                                                      将id5这个字段删除
alter table fen drop id6,drop id2,drop id3,drop id4;     同时删除多个字段
drop table fen;                                                                      删除fen这个表


【对表数据的操作】
增 删 改 查
增加:  insert into
insert into fen(id,name,class,phone,time)valuse(1,"xiaozhang",1005,13476123986,"2002-01-17");  增加对应字段的值(id=1,name=xiaozhang,class=1005,phone=13476123986,time=2002-01-17)
insert into fen(name)values("xiaoli");
insert into fen(name)values("xiaozhang"),("xiaowang"),("xiaowei");
"0"不等于null,null指的是空的属性  0是代表一个值。   
  
删除: delete from fen where id=6;                        删除id等于6 的数据
      delete from fen;                                           删除整个表的数据
     drop  table fen ;                                        删除表数据和表结构
     truncate  fen;                                                 删除表数据

修改:update fen set phone=13476123999 where id=2;      修改id等于2的数据
         update fen set phone=13499999999 where id<=5;    修改id小于等于5的phone 数据

查找:select * from fen;                                           查询所有数据
           select * from fen where name='xiaoli';           查询表里面name为xiaoli的所有数据;
     select id from fen where name='xiaoli';        查询单个字段
     select id,phone from fen where name='xiaoli';  查询多个字段

单表查询
select * from fen;                                                                        查询fen表里面所有数据
select name from fen;                                                                查询单个字段值
select name,id from fen;                                                        查询多个字段值
select * from fen where name="xiaoli" ;                                查找name等于xiaoli的所有字段值
select * from fen where phone != '13476123986';                查找手机号不为13476123986的数据
select * from fen where phone <>'13476123986';                查找手机号不为13476123986的数据
select * from fen where class =1004 and phone=134999999999;查询班级为1004且phone是13499999999的所有数据
select * from fen where class =1004 or phone=134999999999;查询班级为1004或者phone是13499999999的所有数据
select * from fen where id>=2 and id<=5;                                   查询id大于等于2和小于等于5的所有数据
select * from fen where id between 2 and 5;                              查询id大于等于2或者小于等于5的所有数据
select * from fen where class in(1005,1004);                        查询class为1004或1005
select * from fen where class not in(1005,1004);                      class不在1004或1005里面的数据
select * from fen where time is null;                                              查询time为空的数据,不能直接用=null
select * from fen where time is not null;                                          查询time不为空的数据
select * from fen where name like"%li%";                                 查询name字段所有含有li的数值
select * from fen where name like"xiao%";                                查询name字段所有以xiao开头的所有数据
select * from fen where name like"%ang";                                查询name字段所有以ang结尾的所有数据
select * from fen name limit 1,4;                                        查询2到5的数据(2-1,5-1)
select * from fen name limit 0,5;                                        查询前5行的数据(0,0+5)
limit m,n                                                                                 m为下标,n为查询行数


排序
从小到大--升序
select * from fen order by class asc
从大到小--降序
select * from fen order by class desc;   

分组
select * from fen group by class;                                                通过class 字段分组班级
select class,count(*) from fen group by class;                        通过class字段分组之后,求出每个组的人数
select class,count(*) from test group by class having class is not null;通过class字段进行分组然后加条件class不为null
注:
1.group by 分组之后,只能使用having进行条件筛选
2.使用 group by 分组之后,仅有分组字段和函数放置到from 前面

常用的聚合函数
count()------统计
sum()--------求和
avg()----------求平均值
max------------最大值
min------------最小值
distinct()-------去重

select count(*) from fen;                                                             统计fen 这个表的数据
select sun(id) from fen where class=1003;                                求class为1003班的id的和
select avg(id) from fen where class=1003;                                求class为1003班的id的平均值
select max(id) from fen;                                                            求id的最大值
select min(id) from  fen;                                                            求id的最小值
select distinct(phone) from fen;                                                对phone字段进行去重  (去phone 字段掉重复的数据)


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册