**插入**
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如:往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99, 编号为3 的名为Wang 的成绩为96.5。
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
—————————————————————————————————————————————————————————————
**查询**
1)、查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据
mysql> select * from MyClass;
2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
select一般配合where使用,以查询更精确更复杂的数据。
2、查询指定数据 WHERE
SELECT * FROM 数据表名 WHERE 条件表达式;
3、带IN关键字的查询
SELECT * FROM 表名 WHERE 条件 [NOT] IN (元素1,元素2,...,元素n或者是嵌套的条件表达式);
4、带BETWEEN AND的范围查询
SELECT * FROM 表名 WHERE 条件 [NOT] BETWEEN 取值1 AND 取值2;
5、带LIKE的字符匹配查询
LIKE是比较常用的比较运算符,通过它可以实现模糊查询,有两种通配符:“%”和下划线“_”
“%”可以匹配一个或多个字符,可以代表任意长度的字符串,长度可以是0,。例如“明%技”表示以“明”开头,以“技”结尾的任意长度的字符串。该字符串可以代表明日科技、明日编程科技等。
“_”只匹配一个字符,例如,m_n表示以m开头,以n结尾的3个字符,中间的“_”可以代表任意一个字符。
6、IS NULL关键字查询空值
SELECT * FROM 表名 WHERE 字段名 IS NULL;
7、使用AND的多条件查询
只有同时满足所有查询条件的记录会被查询出来。SELECT * FROM 表名 WHERE 条件1 AND 条件2;
8、使用OR的多条件查询
只要满足其中一个查询条件即可。SELECT * FROM 表名 WHERE 条件1 OR 条件2;
9、用DISTINCT关键字去除结果中的重复行
SELECT DISTINCT 字段名 FROM 表名;
10、用ORDER BY关键字对查询结果排序
使用ORDER BY对查询结果进行升序(ASC)和降序(DESC)排列,默认按升序排列。例如:SELECT * FROM tb_borrow ORDER BY borrowTime DESC;
11、用GROUP BY关键字分组查询
通过GROUP BY子句可以将数据划分到不同的组中,实现对记录进行分组查询,在查询时,所查询的列必须包含在分组的列中,目的是使查询到的数据没有矛盾。
12、用LIMIT限制查询结果的数量
例如:SELECT * FROM 表名 ORDER BY 字段名 DESC LIMIT 3;使用LIMIT还可以从查询结果的中间部分取值,首先要定义两个参数,参数1是开始读取的第一条记录的编号(在查询结果中,第一个结果的记录编号是0,而不是1);参数2是要查询记录的个数。如:SELECT * FROM 表名 ORDER BY 字段名 DESC LIMIT 2,3;
13、聚合函数查询
COUNT()函数返回集合中非NULL值的记录的个数SELECT COUNT(*) FROM 表名;
SUM()函数可以求出表中某个数值类型字段取值的总和。SELECT SUM(amount) FROM 表名;
AVG()函数可以求出表中某个数值类型字段取值的平均值SELECT AVG(score) FROM 表名;
MAX()函数可以求出表中某个数值类型字段取值的最大值。SELECT MAX(score) FROM 表名;
MIN()函数可以求出表中某个数值类型字段取值的最小值SELECT MIN(score) FROM 表名;
14、内连接查询
如:SELECT bookid,borrowtime,backTime,ifback FROM tb_borrow,tb_bookinfo WHERE tb_borrow.bookid = tb_bookinfo.id;
15、复合条件连接查询
SELECT bookid,borrowtime,backTime,ifback FROM tb_borrow,tb_bookinfo WHERE tb_borrow.bookid = tb_bookinfo.id AND ifback=0;
—————————————————————————————————————————————————————————————
**删除**
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
—————————————————————————————————————————————————————————————
**修改表中数据**
语法:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name='Mary' where id=1;
UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。