插入数据:
主键不可以忘
INSERT INTO study(id, name, email, salary)VALUES(2, 'ko', '1480555@qq.com', 1.5);
将查询结果插入到表中:
INSERT INTO study SELECT * FROM tb_emp2 WHERE id>2;
添加查询语句字段,并且要和临时表里字段个数一致
设置表的属性值自动增加:
列名 数据类型 AUTO_INCREMENT
注意:AUTO_INCREMENT约束的字段可以是任何整数类型。
删除自增列:alter table tmp modify book_id int;
修改默认自增起始值:alter table book_tmp auto_increment = 15;
单表数据记录更新:
UPDATE table_name SET column_name1=value1,column_name2=value2,
....column_namen = valuen WHERE 条件;
单表数据数据删除:
delete from table_name where 条件
不加条件删除所有数据
delete from table_name;
truncate table table_name;
数据查询:select 字段 from table_name 条件
使用*可查所有列
SELECT * FROM table_name;
查指定列:
select id,name from table_name;
查询指定记录:
select id,name from table_name where abc='55';
查询结果不重复:
使用DISTINCT消除重复
select distinct press from bookinfo;
使用IS NULL子句,查询某列为空的记录
select * from readerinfo where age is null;
对查询结果进行分组
使用having过滤分组
having限定显示记录所需满足的条件,只有满足条件的分组才会被显示。
select sex from readerinfo group by sex having count(sex)>2;
对查询结果进行排序
使用order by 列名[ASC|DESC]升序,降序
通过Limit语句限制查询记录的数量
查询前3行数据
select * from bookinfo limit 3
第三条记录开始后的2条图书信息记录
select * from bookinfo limit 2,2;在5.7中也可以LIMIT 2 OFFSET 2;
MySQL的函数
CEIL(x):返回大于x的最小整数值。
select ceil(28.55);
r:29
FLOOR(x):返回小于x的最大整数值。
select floor(28.55);
r:28
ROUND(x):返回最接近x的整数,对参数x进行四舍五入
select round(28.55);
r:29
ROUND(X,Y):返回最接近参数x的数,其值保留到小数点后面y位,
若y为负值,则将保留x值到小数点左边y位
select round(28.55,1); r:28.6
select round(28.55,0); r:29
select round(28.55,-1); r:30
TRUNCATE(x,y)返回被舍去至小数点后y位的数字。若y的值为0,则结果为整数,若y的值
为负数,则截去x小数点左起第y位开始后面所有低位的值。
SELECT TRUNCATE(28.55,1),
TRUNCATE(28.55,0),TRUNCATE(28.55,-1)
R:28.5,28,20
取模:
MOD(X,Y)返回x被y除后的余数。
SELECT MOD(11,2)
R:1
获取当前时间的函数
日期:SELECT CURDATE();--->2018-10-29
时间:select curtime()/current_time()--->HH:MM:SS
获取当前日期和时间:SELECT NOW()/SYSDATE();--->2018-10-28 12:49:49
日期计算:DATE_ADD(date,INTERVAL expr type)
SELECT DATE_ADD('2018-10-29',INTERVAL 6 MONTH);
2019-04-29
计算两个日期间隔天数
SELECT DATEDIFF('2018-10-29','2018-10-1');
28
格式化日期
DATE_FORMAT(date,format)
聚合函数:
MySQL的信息函数与加密函数:
MD5():信息摘要算法
MD5(str)函数可以加密字符串,加密值以32位十六进制数字的二进制字
符串形式返回,参数为NULL,则返回NULL
PASSWORD()算法:
PASSWORD(str)从原明文密码str计算并返回加密后的密码字符串,参数为NULL,则返回NULL
子查询:
子查询指嵌套在查询内部,且必须始终出现在圆括号内。
子查询的结果作为外层另一个查询的过滤条件。
子查询可以添加到select,update和delete等语句中。
多表连接
例子:通过查看图书信息和图书类比别表获取图书编号,图书名称,图书类别
内连接:inner join
select book_id,book_name,category from bookinfo inner join bookcategorrry on
bookinfo.book_category_id = bookcategory.category_id;
内连接的语法结构
select column_list from table1 [inner] join t2 onjoin_condition1
[inner]joint3 on join_condition2...]
where where_conditions;
例子:
由于图书借阅统计的需要,想查询未归还图书的图书编号,名称,身份证号,姓名,
电话,归还日期,是否归还
select borrowinto.book id, book nane ,borrowintocard_id nare te1, return_ date,statua
from borrowinto inner join bookinto
on borrowinto.book_id = bookinfo.book_id
inner join readerinfo on borrowinfo.card_id=readerinfo.card_ id
上方使用表.字段是因为该字段多个表中有
可以起别名来简洁代码
评论列表
已有0条评论