mysql与sql语句

mysql

mysql数据类型

varchar:变长字符串

char:定长字符串

int:

bigint:long

data:短日期类型

datetime:长日期类型

clob:长字符串,存文章

blog:图片、视频、声音等流媒体数据,这时插入需用IO流。

创建表:

creat table student(

no int,

name varchar(32),

age int(3),

sex char(1),

email varchar(255)

);

删除表:

drop table student;不存在报错

drop table student if exists;

SQL语句

以分号;结尾

不区分大小写

增删改简单,查最麻烦,尤其是联表查询。

简单查询

查询一个字段:

select 字段名 from 表名

查询两个字段,使用逗号,隔开:

select 字段1,字段2 from 表名

查询所有字段:

select * from 表名

给列起别名

字段可以用数学表达式,名称变得奇怪所以需要起别名。别名有中文、空格时用单引号括起来。

使用as关键字,可以省略,用空格替代

select 字段1as new_name_1,字段2 as new_name_2 from 表名

条件查询

select ... from ... where 条件

条件包括

like模糊查询:

%匹配任意个字符

_ 匹配一个字符

排序

默认升序排列:

select ... from ... order by ... (asc);

降序:

select ... from ... order by ... desc;

多字段排序:排序优先级,先按照字段1升序,字段1中一致的话按照字段2降序。

select ... from ... order by ... (asc),... desc;

单行处理函数

lower

upper

substr

length

rand

format

round

ifnull

分组函数(多行处理函数,输入多行,输出一行)

先分组,组内使用分组函数,未分组默认一组。

count()

avg()

max()

min()

sum()

分组查询

先对数据进行分组,再对每一组进行查询。

关键字的执行有顺序:

1.from

2.where

3.group by

4.select

5.order by

select ... from ...group by ... ;

分组函数不能在where后使用。因为此时数据还未分组,所以无法使用分组函数。

数据去重

使用distinct关键字,出现在所有字段最前方,无法给多个字段中的某个单独使用,给多个字段同时使用,相当于联合去重,单字段可能重复。

select distinct ... from ...;

连接查询/联表查询

连接方式:

内连接:等值连接、非等值连接、自连接

外连接:左连接、右连接

全连接(没讲)

删除表

delete from 表名where...;

不加where删除全部。

插入数据

insert into 表名(字段名1,字段名2,字段名3。。。)values(值1,值2,值3);

插入多条数据insert into 表名(字段名1,字段名2,字段名3。。。)values(值1,值2,值3),(值1,值2,值3),(值1,值2,值3);

字段数量与值数量要对应,数据类型也要一一对应。字段名若省略相当于全选。

插入成功则多一条数据,若数据只有某些字段,其他位置默认未null

因此建表的时候可以考虑给某些字段设置默认值。

类型匹配:传入的数据为数字或字符串,需要转成建表时指定的数据类型(数据库有自己的数据类型),使用单行处理函数进行类型转换,例如使用str_to_data将”1-12-1990“转成data类型才能插入成功。sql默认日期格式为%Y-%m-%d,传入1996-10-1则无需转换,查询时也是默认以%Y-%m-%d进行格式化并显示。

自己可以指定显示格式,如%m/%d/%Y。使用方法data_format(birth,'%m/%d/%Y')

修改/更新数据

update 表名 set 字段1=值1 字段2=值2... where ...;

不写条件,默认全部更新。

update t_user set name="jack" birth="2000-10-11" where id =2;

posted @   killens  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示