mysql基本操作指令(三)

来源:互联网 发布:js中字符串长度函数 编辑:程序博客网 时间:2024/06/05 04:03
1、操作数据库表的内容:
·向表中插入数据:
insert into table_name values(now(),'a');
insert into student (id,name,sex) values(1,'zhangsan','nan');
·向表中插入多条记录
insert into student (name,sex) values('xiaoming','nan'),('xiaohong','nv');
·使用insert….select插入结果
在insert语句中使用select子句可以将源表的查询结果添加到目标表中,
语法格式如下。

insert into 目标表名[(字段列表1)]  select (字段列表2) from 源表 where 条件表达式

·使用replace插入新记录

replace语句的语法格式有三种语法格式。
语法格式1:
replace into 表名 [(字段列表)] values (值列表)
语法格式2:
replace [into] 目标表名[(字段列表1)] select (字段列表2) from 源表 where 条件表达式
语法格式3:
replace [into] 表名  set 字段1=值1, 字段2=值2
replace语句的功能与insert语句的功能基本相同,不同之处在于:使用replace语句向表插入新记录时,如果新纪录的主键值或者唯一性约束的字段值与已有记录相同,则已有记录先被删除(注意:已有记录删除时也不能违背外键约束条件),然后再插入新记录。
·删除表中的数据
delete from table_name where 删除条件;
·使用truncate清空表记录
truncate table用于完全清空一个表,语法格式如下。
truncate [table] 表名
·更新表中的数据
update table_name set 列名称=新值 where 更新条件;

若省略了where子句,则表示修改表中的所有记录。

2、模糊查询like

在where 后面使用like
通配符:
%  任意字符
_  单个字符
3、order by 排序
order by price //默认升序排序
order by price desc //默认降序排序
order by price asc //升序排序
order by rand() //随机排序
4、分组查询 group by
一般情况下,group需与统计函数(聚合函数)一起使用才有意义。
//通过name进行分组
select name,count(*) from student group by name;
//将name='lisi'分为一组,将其余的分为一组
select count(*) from student group by name='lisi';
5、Having    指定分组统计条件(一般与group by一起使用!)
select name,count(*) from student group by name having count(*)>2;
·注意where和having的区别:
where只能对表中的字段名进行筛选
having一般对查询结果进行筛选(也可以直接对字段名进行筛选)
6、sql函数
组函数(聚合函数)功能描述
用于字符、数值、日期型数据的列函数
MAX(column)列中最大值
MIN(column)列中最小值
COUNT(*)表中行的数量
COUNT(column)列不为null的行数
COUNT(distinct column)Column指定列中相异值的数量
用于数值数据的列函数
SUM(column)列中所有值的总和
AVG(column)列中所有值的平均数

7、使用谓词distinct过滤结果集中的重复记录

SELECT DISTINCT 列名称 FROM 表名称
8、使用谓词limit查询某几行记录
select 字段列表  from 数据源  limit [start,] length;

0 0
原创粉丝点击