数据库MySQL简单操作(二)
一、数据的增删改查
我们提供的服务有:成都做网站、网站建设、外贸营销网站建设、微信公众号开发、网站优化、网站认证、新干ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的新干网站制作公司
1.1 插入记录
1.1.1插入单条数据
INSERT INTO 表名 (字段名1,字段名2,……,字段名N)
VALUES (字段1值,字段2值,……,字段N值);
①这是把所有的字段都带上
INSERT INTO student (id,`name`,pwd,age,flush_time,record)
VALUES
(1,'李荣','2212o1uwi2ui2',23,'2017-09-13 20:03:45',
'大家伙,你们好,我是李荣,毕业于城市学院1014班,我的爱好是篮球,羽毛球,football,basketball、tennis and so on');
②如果是所有字段都会有,而且是对应数据表字段的顺序,那么可以不写(字段名1,字段名2,……,字段名N),如:
③如果并不是按照字段顺序并且也不是所有字段都要填入值,那么要列出你要填写的字段和其顺序:
INSERT INTO 表名 (字段名n,字段名m,……,字段名x)
VALUES (字段n值,字段m值,……,字段x值);
我们将刚才三种情况下插入的数据进行查询,结果如下:
由于我设置id为主键,并且自增长,而且flush_time也是如果没有写入值,则写入默认值2000-01-01 00:00:00。
1.1.2插入多条数据
当列出字段及其顺序时,后面的记录字段的顺序必须保持一致。
1.2 单表查询
1.2.1查询所有字段和所有记录
SELECT * FROM 表名;
1.2.2查询想要的字段
SELECT 字段1,字段2,字段3…… FROM 表名;
1.2.3条件查询
SELECT * FROM 表名 WHERE条件表达式 [AND|OR 条件表达式1……];
如下面几种情况:
#带关系表达式(等于、不等于,大于、小于、大于等于、小于等于)查询
SELECT * FROM 表名 WHERE 字段值 = '某符合条件值' ;
#带IN关键字的查询
SELECT * FROM 表名 WHERE 字段值 [NOT] IN (字段值1,字段值2,……);
NOT IN:
#带BETWEEN的范围查询
SELECT 字段1,字段2,…… FROM 表名 WHERE某字段 [NOT] BETWEEN 左值 AND 右值;
#带LIKE的查询
SELECT 字段1,字段2,…… FROM 表名WHERE 字段 LIKE '字符串';
其中字符串可以是这样的:(_:表示有且仅有一位,%:表示0位或多位)
a_:表示以字母a开头的两位字符串;
a%:表示以a开头的一位及以上字符串;
a_%:表示以a开头的两位及以上字符串,至少两位。以此类推。
_a:以a结尾的两位;
%a:以a结尾的一位或多位:
_a_:……,可自行脑补。
#空值查询
SELECT 字段1,字段2,…… FROM 表名 WHERE 字段 IS [NOT] NULL;
#带AND|OR的多条件查询:
#去重复查询
SELECT DISTINCT 字段 FROM 表名;
原本是这样的:
#分组查询 GROUP BY 一般与聚合函数一起使用。
常用:
SELECT 字段n,GROUP_CONCAT(字段m) FROM 表名 GROUP BY 字段n;
#LIMIT查询分页
SELECT 字段1,字段2,…… FROM 表名 LIMIT 起始位(从0开始),查询记录的条数。
1.2.4sql语句中的聚合函数
比如:COUNT(字段名'):根据某一字段来统计总数
还可以根据分组来分别计算总和:
#SUM('字段名')求和函数
根据年龄来分组,并且计算每一个组内人数和年龄之和(还有年龄总和和人数总和):
#AVG(字段)平均值函数
#MAX(字段)最大值
找出最大值,不过我这里还想知道年龄最大的人的姓名,sql语句如下:
#最小值MIN('字段名')
多表查询我们下一个博客再写。
标题名称:数据库MySQL简单操作(二)
当前地址:http://pwwzsj.com/article/jhejgc.html