MySql数据库基础

一SQL中的数据类型

类型名类型
常用:int整数类型
常用:double小数类型
decimal(m.d)指定整数位与小数位长度的小数类型decimal(4,2) 表达的范围: -99.99~99.99
常用:date日期类型,格式为yyyy-MM-dd,包含年月日,不包含时分秒
datetime日期类型,格式为 YYYY-MM-DD HH:MM:SS,包含年月日时分秒
timestamp日期类型,时间戳
常用:varchar(m)文本类型, M为0~65535之间的整数, 变长
char(m)文本类型, M为0~65535之间的整数, 定长

固定长度 char(n) 例如: char(20), 最大能存放20个字符. ‘aaa’, 还是占20个字符的空间

可变长度 varchar(n) 例如:varchar(20), 最大能存放20个字符. ‘aaa’, 占3个字符的空间

二数据库的创建

1.创建表格:

create table 表名(

字段名 数据类型 [长度][约束],

如:name varchar(20) not null,     

aye int 

);

2.SQL约束

not null: 非空约束 如.“name varchar(20) not null,”    name这个列不能有null值。

unique:唯一约束, 后面的数据不能和前面重复。

primary key:主键约束(非空+唯一); 一般用在表的id列上面. 一张表基本上都有id列的, id列作为唯一标识的

auto_increment: 自动增长,必须是设置了primary key之后,才可以使用auto_increment

id int primary key auto_increment; id不需要我们自己维护了, 插入数据的时候直接插入null, 自动的增长进行填充进去, 避免重复了。

3.加入数据

结果

4.更新数据

update 表名 set 列 =值, 列 =值 [where 条件]

5.删除数据

delete from 表 [where 条件]

truncate table product;#删除表中的所有记录

.delete 和truncate区别

DELETE 删除表中的数据,表结构还在; 删除后的数据可以找回,一条一条的删除.

TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快

.逻辑 物理删除

物理删除: 真正的删除了, 数据不在, 使用delete就属于物理删除

逻辑删除: 没有真正的删除, 数据还在. 搞一个标记, 其实逻辑删除是更新 例如: state 1 启用 0禁用

三,基本查询语法

.基础查询

1.select  [*] [列名 ,列名] [列名 as 别名 ...] [distinct 字段] from 表名 [where 条件]

2.查询所有的列语法:select * from 表名

3.查询表中的所有数据:select * from 表名

4.查询某张表特定列:select 列名,列名,... from 表名

5.查询表中的pname,price字段的值:select pname,price from 表名;

6.去重查询:select distinct 列名 from 表名

7。查询price字段,[去重]单个字段去重:select distinct price from 表名;

8.查询pname,price字段,[同时去重]多个字段去重:select distinct pname,price from 表名;

distinct前面不能有字段名,加了会报错

.别名查询

1.对字段取别名:select 字段 as 别名,字段 as 别名,... from 表名。

select pname as 商品名称,num as 商品数量 from product;

select pname 商品名称,num 商品数量 from product;

2.对表取别名:select 表1别名.字段名,... from 表1 as 表1别名。

select p.pname,p.price from product as p;

select p.pname,p.price from product p;

3.运算查询(+,-,*,/等),null和其他数据进行运算得到是null计算每个商品的总价(单价*数量)

select price,num from product;

select price*num from product;

select price * num 总价 from product;

select price * ifnull(num,0) 总价 from product;

四,查询条件

between...and... 区间查询

in(值,值..)

like 模糊查询 。一般和_或者%一起使用  _占一位 % 占0或者n位

and 多条件同时满足

or 任意条件满足

单列排序:只按某一个字段进行排序,单列排序

组合排序:同时对多个字段进行排序,如果第1个字段相等,则按第2个字段排序,依次类推

聚合函数

聚合函数作用
max(列名)求这一列的最大值
min(列名)求这一列的最小值
avg(列名)求这一列的平均值
count(列名)统计这一列有多少条记录
sum(列名)对这一列求总和

语法:SELECT 聚合函数(列名) FROM 表名 [where 条件];

.分组查询

语法:SELECT 字段1,字段2... FROM 表名  [where 条件] GROUP BY 列 [HAVING 条件];

分页查询

select * from 表名 limit m,n;

m是指从哪开始查;记录开始的index,从0开始,表示第一条记录n是指查多少条。

举例:

累了累了,先撤,下次再见

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值