这是一篇写给自己的博客,因为不经常用MySql,所以一些自己用过的方法时间长了就会忘记,所以写在这里,以便自己以后查询的时候方便点,当然了也希望大家遇到问题时能从我这里找到解决的答案。蓝色字为MySql关键字。
一、基本语句
1,增加
INSERT INTO tablename(Id) VALUES (123456)
在表中增加一条id=123456的字段
INSERT INTO tablename(Id,num)VALUES (123456,123445)
在表中增加一条id=123456,num=123456的字段,就是说这是一个增加多个列数据的写法。
2,删除
DELETE FROM tablename WHERE id = 123456
在表中删除一条id=123456的字段
下面介绍删除表内的所有数据的两种操作方式
1:DELETE FROM tablename
只是清空当前表内的数据,并不清楚表的索引,也就是说再往表里面添加数据的话ID并不是从0开始,而是接着一切的ID开始
2:TRUNCATE TABLE tablename
这个是完全清空表内的数据,包括索引什么的,相当于重建表了,如果这个时候再往表里面添加字段,ID是从0开始的。
3,更改
UPDATE tablename SET num=123 WHERE num > 0
把表tablename中num大于0的字段中的num设置为123
4,查询
SELECT * FROM tablename
这条查询语句是最基本的查询语句,查询出数据库所有信息,不包含任何条件
SELECT * FROM tablename WHERE Id >10 || Id = 1
这条语句增加了查询条件,这里用了两个条件,id大于10,或者id=1,可以自由组合查询条件
SELECT id FROM tablename
这条查询语句只查询表里面的id列,后面没加条件,可自由添加
SELECT COUNT (*) FROM tablename
这条查询语句是用了统计数量的,*号可以用表内的字段代替,比如id,可以增加查询效率
二、高级语句
1,表的复制插入
INSERT INTO tablename0 (Id) SELECT Id FROM talename1
把表tablename1里面的id全部插入到表tablename0里面的id里面,这里可以是插入多条数据,相当于快速的把一个表内的你所需要的数据插入到另一个表内对应的数据,所对应的名字是可以不同的,安照你所写的顺序,甚至是可以插入一些固定数值,不一定都是表tablename1里面的数据,比如下面语句
INSERT INTO tablename0 (Id,num,name) SELECT Id,25,'zmk' FROM talename1
这样的插入的话,表tablename0里面的num列和name列都是25和zmk
2,删除
3,更改(多个表同时更新的方法)
UPDATE tablename0,tablename1 SETtablename0.num=123, tablename1.name='same' WHEREtablename0.id = tablename1.id
后面的条件可以加,也可以不加
4,查询
SELECT tablename0.*,tablename1.id FROM tablename0,tablename1where tablename0.id = tablename1.id
多表联合查询的方法
selectuser_name,count(*) as count from tablename0 group by user_namehaving count>1;
查询表tablename0中user_name数量大于1的所有数据,count(*)里面的*号可以改为id之类的索引字段,这样可以加快查询效率,另外在group by 关键字前面还可以加上where条件,例如
select user_name,count(*) as count from tablename0 where id > 0 group by user_name having count>1;