MySQL学习之旅

数据库表的操作(增删改查)
(1)建表
create table表名(字段+数据类型,字段+数据类型......)
四种字段类型
1、数值
整形  int
浮点小数 float(m,n)
定点小数 decima(m,n):整数长度为m-n,小数长度为n
2、字符类型
char(m):固定长度
varchar(n):可变长度,但不能超过n个字符
3、时间
date:‘YYYY-MM-dd’
datetime:‘yyyy-mm-dd hh:mm:ss’
4、枚举
enum(‘男’,‘女’)
(2)建表约束
1、主键约束 primary key 唯一且不为空
2、外键约束:foreign key
alter table 子表 add foreign key(子表字段) references 主表(主表字段);
3、不为空约束:not null
4、唯一约束:unque
5、自动增长:AUTO_INCREMENT(默认情况下初始值和增量都为1)
6、默认值约束:default
7、create  index 名字 on 表名(属性值) 创建普通索引
(3)删表
drop table 表名
(4)查表结构
desc 表名
查数据库所以表 show tables;
表的修改
1、改表名:alter table 旧表名 rename to 新表名;
2、添加字段:alter table 表名 add 字段名 字段的数据类型
3、改字段名:alter table 表名 change 旧字段名 新字段名 新字段的数据类型
4、删除字段:alter table 表名 drop 字段名
5、补充添加主键约束:alter table 表名 add primary key(字段)
6、改字段类型:alter table 表名 modify column 字段名 新字段类型 新长度
7、该字段长度:alter table 表名 modify column 字段名 字段类型(长度)
8、改加字段注释:alter table 表名 modify 字段名 字段类型 comment ‘注释’
(4)数据的操作
1、数据新增
 简写方法:省略字段部分,值须和字段一一对应。test——表名
insert into test values(4,'王五');//可行
insert into test values(‘王五’,4);//不可行/
省略字段,且只给部分值/
insert into test values(5,null);//可行
多值同时添加方法
insert into test(id) values(6),(7),(8),(9);
mysql 独有的添加记录语句
insert into test
set id=11,
name='sss';
2、数据的查
所有字段查询:select*from 表名;
特定字段的查询和去重查询:distinct
3、条件查询
select*from 表名 where 查询条件
4、模糊查询:like(%:0个/1个/多个字符 一:只有一个字符)
5、空置查询:is null 是空值 is not null 不是空置
6、排序查询:select * from表名 where 条件order 不用 字段 asc/desc  asc:升序  desc:降序
7、聚合函数:count():统计个数 awg():求平均数 sum():求和 max()最大值 min()最小值
8、分组查询:
select * from 表名 where 条件 group by分组字段 having 过滤条件
having子句:对分组后过滤,根聚合函数
where子句:对分组前过滤,不能出现聚合函数
数据的改
单字段更改:wpdate 表名 set 字段=值
多字段更改 update 表名 set 字段=值。。。
数据的删:
delete from 表名(where 条件)
   delete做全表删除时,保留数据表结构  只删数据
(5)高级查询
1、limit 限制条数显示
select * from order by 字段名 limit 0,50
limie m,n m->从m-1行开始查询  n:查询条数
多表连接
1、内连接
两表连接:select*from 表1 inner join 表2 on 表1.字段=表2.字段
三表连接:select*from 表1 inner join 表2 on 表1.字段=表2.字段,inner join 表3 on 表2.字段2=表3.字段;
2、外表连接
左外连接:left join 右外连接:right join
select*from 表1 left join 表2 on 表1.字段=表2.字段
3、全外连接  mysql不支持full join 用unjon代替
select*from 表1 left 
4、子查询
select*from 表名 where 字段=/in(select 字段 from 表名)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值