Mysql问题及SQL语句的使用_第1页
Mysql问题及SQL语句的使用_第2页
Mysql问题及SQL语句的使用_第3页
Mysql问题及SQL语句的使用_第4页
Mysql问题及SQL语句的使用_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、mysql安装及简单配置:安装Mysql时要选择UTF-8的字符集;命令行启动Mysql:net start mysql登录mysql:mysql u root p回车然后输入密码或者mysql h localhost u root p回车然后输入密码创建数据库:create database student Character set gbk查看已有表的详细信息:describe 表名;或者 desc 表名在运行时若遇到字符集不能显示时,可在命令行通过以下命令:set names gbk(改显示字符集)结构化SQL语句:(以下均是以学生表进行操作)2、sql语句及使用:2.1、selec

2、t语句及使用:查询成绩大于80的:select * from tb_score where score>=80;显示指定列信息:select sid,socre from tb_score where score>=80;用order by进行排序,order by一定是应用在最后 默认是升序排序(asc)降序排序是(desc)select * from tb_score order by score desc;(按照分数降序排序)select * from tb_score order by kid desc,score;(ID降序,分数升序进行排序)有多个排序的时候,按照从左到

3、右依次进行,先排第一个再排第二个单表查询综合应用:select stuid,score from tb_score where score>80 order by score desc;含义:从成绩表中选择成绩大于80的人的ID以及成绩按照得分的降序进行排序显示选择列的最大值:SELECT MAX(列名) AS (显示结果包括的列) FROM shop;选择一列中不同的数据:Null和“ ”不一样;null是没有数据 是有数据,但是是空Select * from tb_stu where tel is not null and tel <> ;2.2、distinct关键字的

4、使用Select distinct (列名) from (表名);select distinct sold_date from store_information;2.3、where子句的使用where子句的操作符:= 等于 <> 或者!= 不等于< <= 小于,小于等于 !< 不小于> >= 大于,大于等于 !> 不大于Between and 在和之间is null或者is not null 为空或者不为空select * from tb_student where tel is null;查出tel为null的记录 tel为的记录查询不出来查

5、询电话不为空的记录的名单select * from tb_student where tel is not null and tel <> ;存储的时候 会自动TRIM掉变成Null和“ ”不一样;null是没有数据 是有数据,但是是空Null表示允许插入值,但是没有设置过,与字段包含0,空字符串或者仅仅包含空格不同。2.4、and 和or关键字使用select store_name from store_information where (sales<2000 and sales>1000) or sales>100;几个条件可以用and 和or连接起来,不同

6、的条件间加括号分开。And的优先级高于orSelect prod_name,prod_price from products Where venid=dell01or venid=brs01 and prod_price>10;上面语句的意思是:查询供应商brs01制造的价格在十元以上的产品,或者是dell01供应商生产的产品。Select prod_name,prod_price from products Where (venid=dell01or venid=brs01) and prod_price>10;上面语句的意思是:查询供应商brs01或者是dell01供应商生产价

7、格在十元以上的产品。2.5、in关键字的使用在sql中,有两种情况会用到inz这个指令,这里先介绍其中之一:与where有关的那一个情况,在这种情况下,我们事先至少知道一个我们需要的值。而将这些知道的值放到in这个子句中。SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二', .);select * from store_information where store_name in("Los_Angeles");select * fr

8、om store_information where sales>200 and store_name in("Los_Angeles");等价于:select * from store_information where sales>200 and Store_name="Los_Angeles"in操作符的优点:in关键字支持和其他条件用and 和or进行联合条件的查询查询效率一般比or操作符号高In后面可以包含select子句2.6、between的使用Between让我们可以在一定的范围内抓取数据库中的值Select 列名 from

9、表名 where 列名 between A and B;Select * from tb_student where age between 16 and 19;包含and后面的数值2.7 通配符%和_%表示任何字符或者字符串,出现任意次数 _表示一个字符,一个汉字要两个下划线;select * from store_information where sales like "%700%"通配符的优缺点:通配符比其他条件会发花费更多的时间,能用其它的条件优先选择其它的查询条件。通配符尽量不要放在搜索条件的首部,因为这样是最慢的2.8 not 、not exists操作符no

10、t操作符只有一个功能:就是否定它之后所跟的任何条件。mysql中使用not exsists2.9 like关键字的使用select * from tb_student where tel like 136*;使用like时对后面 里面的内容是区分大小写的2.10拼接字段 在mysql中使用concat拼接字段在不同的数据库中有不同的表示:Oracle DB2 Sybase使用 |SQL Server使用 +Mysql不支持以上两种字符的使用,它使用concat函数Mysql中|相当于or,&&相当于and; trim的使用去掉字段两边的空格select trim( 1111 )

11、 as a from tb_student;运行结果:ltrim 以及rtrim 去除字符串左边空格或者右边空格执行算术运算mysql> select (sage+1) as xusui from tb_stu;可以对一些字段进行算术操作2.11函数操作每个DBMS都有不同的函数,这里需要参照每个数据库自己的使用说明如提取字符串:oracle,DB2使用SUNSTR()SQL Server Mysql使用SUNSTRING()数据类型转化DB2使用CAST()Mysql SQL Server使用convert()获取当前日期DB2使用current_date();Mysql使用curda

12、te();oracle使用sysdate()sqlserver使用getdate();Mysql操作:mysql> select curdate() as today from tb_stu;操作结果:left从左边取字符串,5表示取5位lpad表示左补齐 例子中为左补齐,补齐后为11位,用0补齐lower(str)将str变成小写upper(str)将str变成大写length(str)返回str字符串的长度right()返回字符串右边的字符select right(hellworld,5); 结果:worldmysql> SELECT SUBSTRING('Quadra

13、tically',5); -> 'ratically'mysql> SELECT SUBSTRING('foobarbar' FROM 4); -> 'barbar'mysql> SELECT SUBSTRING('Quadratically',5,6); -> 'ratica' mysql> SELECT SUBSTRING('Sakila', -3); -> 'ila' mysql> SELECT SUBSTRING(

14、9;Sakila', -5, 3); -> 'aki'mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2); -> 'ki'日期处理函数:mysql> select year(curdate() as curyy;运行结果:| curyy | 2011 |不同系统的日期操作函数:数值处理函数:2.12聚集函数汇总数据 聚集函数有:avg(),返回某列的平均值count()返回某列的行数max() min() sum() 返回某列的最大最小值 总和值count函数使用的两种形

15、式:使用count(*)对表中行的数目进行计数,不管某列的值是不是NULL还是非空值都会统计使用count(某一具体列)时,如果其中某些值是NULL则这些不计入count的结果中也可以此而成select count(1) from tb_stu;max min sum统计时也是忽略值为NULL的行的select max(score) from tb_score;select max(distinct score) from tb_score;一个默认是统计All所有的,一个是统计不同的值的聚集函数2.13 分组函数:group by 和having子句按照group by后面的字段进行分组my

16、sql> select avg(score) from tb_score group by kid;| avg(score) | 88.83333 | 91.00000 | 67.50000 |mysql> select stuid,kid ,avg(score) from tb_score group by kid;| stuid | kid | avg(score) | 2001 | 1 | 88.83333 | 2001 | 2 | 91.00000 | 2002 | 4 | 67.50000 |group后面不能使用别名进行分组过滤分组:having子句mysql>

17、select kid ,avg(score) as avg ,max(score) as max, min(score) as min from tb_score group by kid having avg>=75;| kid | avg | max | min | 1 | 88.83333 | 99.0 | 80.5 | 2 | 91.00000 | 92.0 | 90.0 |不加having子句的时候mysql> select kid ,avg(score) as avg ,max(score) as max, min(score) as min from tb_score

18、 group by kid;| kid | avg | max | min | 1 | 88.83333 | 99.0 | 80.5 | 2 | 91.00000 | 92.0 | 90.0 | 4 | 67.50000 | 85.0 | 50.0 |having子句不一定与group by一起出现,但一起出现的情况比较多having后面的字段一定是在select中出现的字段where过滤的是原始行的数据,having过滤的是分组之后的数据2.14各个子句的顺序2.15内连接 inner join on应该选择一个基准表。on关键字表示条件,两个join中间不用逗号不采用内连接的写法:sele

19、ct st.stuname,sub.kname,sc.scorefrom tb_stu st,tb_subject sub,tb_score scwhere st.stuid=sc.stuid and sub.kid=sc.kid and score >70;采用内连接写法:select s.stuname,k.kname,c.score from tb_score c inner join tb_stu s on s.stuid=c.stuid inner join tb_subject k on c.kid=k.kid where c.score>=70;两种写法的运行结果是一

20、致的,知识查找效率有区别在SQL规范中推荐使用inner join的用法,因为查找效率更高一些运行结果:+-+-+-+| stuname | kname | score |+-+-+-+| 张三 | 数学 | 80.0 | 张三 | 语文 | 81.0 | 张三 | 英语 | 82.0 | 张三 | 物理 | NULL | 张三 | 化学 | 84.0 | 李四 | 数学 | 70.0 | 李四 | 语文 | NULL | 李四 | 英语 | 72.0 | 李四 | 物理 | 73.0 | 李四 | 化学 | 74.0 | 李四 | 生物 | 75.0 | 王五 | 数学 | 80.0 | 王

21、五 | 语文 | 81.0 | 王五 | 英语 | NULL | 王五 | 物理 | 83.0 | 王五 | 化学 | 84.0 | 赵六 | NULL | NULL | 张飞 | NULL | NULL | 曹操 | NULL | NULL | 赵云 | NULL | NULL | 司马懿 | NULL | NULL | 关羽 | NULL | NULL | 孙策 | NULL | NULL | 周瑜 | NULL | NULL | 杨过 | NULL | NULL | 小龙女 | NULL | NULL | 小龙女 | NULL | NULL | 小龙女 | NULL | NULL |2.

22、16外连接 、left outer joinon 左连接right oute joinon 右连接full outer joinon 全连接 检索两个表中的所有的行,并关联那些可以关联的行 mysql不支持left outer join表示指定包含左边的表right outer join 表示指定包含右边的表left outer joinon实例:应该选定一个基准表。select s.stuname,k.kname,c.score from tb_stu s left outer join tb_score c on c.stuid=s.stuid left outer join tb_sub

23、ject k on k.kid=c.kid;注:以tb_stu为中心,把表中所有的值列出,后面匹配的列出值,不匹配的输出为NULL运行结果:| 李四 | 英语 | 72.0 | 李四 | 物理 | 73.0 | 李四 | 化学 | 74.0 | 李四 | 生物 | 75.0 | 王五 | 数学 | 80.0 | 王五 | 语文 | 81.0 | 王五 | 英语 | 82.0 | 王五 | 物理 | 83.0 | 王五 | 化学 | 84.0 | 赵六 | NULL | NULL | 张飞 | NULL | NULL | 曹操 | NULL | NULL | 赵云 | NULL | NULL |

24、 司马懿 | NULL | NULL | 关羽 | NULL | NULL | 孙策 | NULL | NULL | 周瑜 | NULL | NULL |相同的语句改成内连接:select s.stuname,k.kname,c.score from tb_stu sinner join tb_score c on c.stuid=s.stuid inner join tb_subject k on k.kid=c.kid;执行结果:| stuname | kname | score | 张三 | 数学 | 80.0 | 张三 | 语文 | 81.0 | 张三 | 英语 | 82.0 | 张三

25、 | 物理 | NULL | 张三 | 化学 | 84.0 | 李四 | 数学 | 70.0 | 李四 | 语文 | NULL | 李四 | 英语 | 72.0 | 李四 | 物理 | 73.0 | 李四 | 化学 | 74.0 | 李四 | 生物 | 75.0 | 王五 | 数学 | 80.0 | 王五 | 语文 | 81.0 | 王五 | 英语 | NULL | 王五 | 物理 | 83.0 | 王五 | 化学 | 84.0 |内连接和外连接的差别(自己觉得):内连接只显示所选内容不全为空的值,即至少会满足一些条件,外连接是只要是基准表中有这个值与他相关的属性就会显示出来。外连接的查询结果

26、一般会比内连接更多。带聚集函数的连接:就是多了个聚集函数,没什么他别的select st.stuname, count(sc.kid) as countfrom tb_score scinner join tb_stu st on st.stuid=sc.stuidgroup by sc.stuid;运行结果:| stuname | count | 张三 | 5 | 李四 | 6 | 王五 | 5 |2.17自连接在一个表中查询自己的字段,自连接的查询速度较快mysql> select * from tb_stu -> st1, tb_stu st2 -> where st1

27、.stuid=st2.stuid -> and st2.stuname='张三'| stuid | stuname | sage | sdept | stuid | stuname | sage | sdept | 2001 | 张三 | 18 | NULL | 2001 | 张三 | 18 | NULL |2.18自然连接先列出所有表,再写出表之间的关系select st.stuname,sc.score,sub.knamefrom tb_stu st,tb_score sc, tb_subject subwhere sc.stuid =st.stuid and sc.

28、kid=sub.kid;运行结果:| stuname | score | kname | 张三 | 80.0 | 数学 | 张三 | 81.0 | 语文 | 张三 | 82.0 | 英语 | 张三 | NULL | 物理 | 张三 | 84.0 | 化学 |。2.19使用连接的注意事项一般使用内连接,但需要查出所有值的时候也使用外连接应该总是提供连接条件,否则会出现笛卡尔乘积2.20组合查询用union连接不同的select查询语句两种情况会用到组合查询:1、 在单个查询中从不同的表中返回相似的数据结构2、 查询多个表,按单个查询结果返回使用规则:1、 union中必须由两条级以上的selec

29、语句组成2、 每个查询语句必须包含相同的列,表达是或者聚集函数3、 列数据必须兼容,类型不必完全相同,但DBMS必须可以隐式的转换数据类型4、 union从查询结果中自动去除重复的行,如果要返回所有的行,可以使用union all5、 在使用组合查询时只能有一条order by语句,只能放在最后。order by是用来排序组合查询结果集,而不是针对某一select查询结果集2.21插入、更新、删除数据插入数据使用insert关键字。插入数据有几种方式:插入完整的行,插入行的一部分,插入查询结果插入时,每列必须提供一个值,若不插入且允许为空,则数据库会提供一个NULL值插入完整的行:mysql&

30、gt; insert into tb_Stu(stuid,stuname,sage,sdept) values('2027','郭靖',40,'武当');mysql> insert into tb_Stu values('2027','郭靖',40,'武当');插入行的一部分mysql> insert into tb_Stu(stuid,stuname,sage) values('2027','郭靖',40);插入查询结果查询结果中的字段类型在插入的表中应

31、该是相似的。并不强制要求两个的列名完全一致,但需要对应,相应的数据类型可以做转化使用insertselect语句,一次可以插入多个数据insert into tb_student select * from tb_stu;从一个表完全复制到另外一个表中 select into mysql使用create tableinsert select和select into的区别:insert selec是增补数据到一个已经存在的表select into是将从一个已经存在的表中检索的数据插入到一个新表中,有的DBMS可以覆盖已经存在的表,有的不行,着以来于具体的DBMS的规定。mysql创建一个新表:

32、create table tb_student select * from tb_stu;注意事项:任何select子句都可以使用包括where和group by子句可以使用多表连接选择数据更新数据更新要有where子句,要不然就全部更新了更新一列:mysql> select * from tb_stu where stuid='2001'| stuid | stuname | sage | sdept | 2001 | 张三 | 25 | network |mysql> update tb_stu set sdept='计算机' where stu

33、id='2001'mysql> select * from tb_stu where stuid='2001'| stuid | stuname | sage | sdept | 2001 | 张三 | 25 | 计算机 |更新多列数据:update tb_stu set sdept='计算机' ,sage=25 where stuid='2001'注意事项:一般来说,当表中存在数据时,不要对它进行更新允许重命名已经存在的列删除数据删除一列或者多列数据delete from tb_stu where stuid=2001;不

34、加where子句默认删除全部数据,在每个表中设置主键,以保证删除更改数据的唯一性Create:创建一个表DROP TABLE IF EXISTS y2k;CREATE TABLE y2k (date date primary key not null default 1, 设置默认值date_time datetime not null, time_stamp timestamp not null);INSERT INTO y2k VALUES ("1998-12-31更新表结构 alteralter table tb_stu add address varchar(200);alt

35、er table tb_stu drop column address;复杂的表结构一般手动删除列,步骤为:1、定义一个和原表一样的表,使用insert。select语句将数据导入到新标2、检查新表的数据,重命名或者删除3、用旧表的名称重名新表删除表drop table tb_stu1;有外键关联的表,应先将与之关联的外键删除重命名表rename table tb_stu1 tb_stu;2.23视图视图是一个虚拟的表,本身不存储数据,可以避免每次查询相同的东西而重复输入SQL语句。主要是对Table中的数据进行简单的加工,以藏复杂的SQLcreate view v_stu_score as后

36、面加上相应的语句即可create view v_stu_score as select st.stuname ,sub.kname,sc.score from tb_score sc inner join tb_stu st on st.stuid=sc.stuid inner join tb_subject sub on sub.kid=sc.kid;它的结果和只写select st.stuname ,sub.kname,sc.score from tb_score sc inner join tb_stu st on st.stuid=sc.stuid inner join tb_subj

37、ect sub on sub.kid=sc.kid;一样查询视图和查询表的操作一样select * from v_stu_score;select * from v_stu_score where score>80;各种查询语句、聚集函数、分组语句、计算字段都行2.24存储过程()SQL Server中创建存储过程以下是抄来的存储过程语法存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。-基本语法-一.创建存储过程create procedure sp_name()begin.end二.调用存储过程1.基本语法:call sp_name()注意:存储

38、过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:drop procedure sp_name/2.注意事项(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程四.其他常用命令1.show procedure status显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等2.show create procedure sp_name显示某一个mysql存储过程的详细信息-数据类型及运算符-一、基本数据类型:略二、变量:自定义变量:DECLARE a INT ; SET a=100; 可用以下语句代替:DECLARE a

39、 INT DEFAULT 100;变量分为用户变量和系统变量,系统变量又分为会话和全局级变量用户变量:用户变量名一般以开头,滥用用户变量会导致程序难以理解及管理1、 在mysql客户端使用用户变量mysql> SELECT 'Hello World' into x;mysql> SELECT x;mysql> SET y='Goodbye Cruel World'mysql> select y;mysql> SET z=1+2+3;mysql> select z;2、 在存储过程中使用用户变量mysql> CREATE

40、PROCEDURE GreetWorld( ) SELECT CONCAT(greeting,' World');mysql> SET greeting='Hello'mysql> CALL GreetWorld( );3、 在存储过程间传递全局范围的用户变量mysql> CREATE PROCEDURE p1( ) SET last_procedure='p1'mysql> CREATE PROCEDURE p2( ) SELECT CONCAT('Last procedure was ',last_pr

41、ocedure);mysql> CALL p1( );mysql> CALL p2( );三、运算符:1.算术运算符+ 加 SET var1=2+2; 4- 减 SET var2=3-2; 1* 乘 SET var3=3*2; 6/ 除 SET var4=10/3; 3.3333DIV 整除 SET var5=10 DIV 3; 3% 取模 SET var6=10%3 ; 12.比较运算符> 大于 1>2 False< 小于 2<1 False<= 小于等于 2<=2 True>= 大于等于 3>=2 TrueBETWEEN 在两值之

42、间 5 BETWEEN 1 AND 10 TrueNOT BETWEEN 不在两值之间 5 NOT BETWEEN 1 AND 10 FalseIN 在集合中 5 IN (1,2,3,4) FalseNOT IN 不在集合中 5 NOT IN (1,2,3,4) True= 等于 2=3 False<>, != 不等于 2<>3 False<=> 严格比较两个NULL值是否相等 NULL<=>NULL TrueLIKE 简单模式匹配 "Guy Harrison" LIKE "Guy%" TrueREGEXP

43、 正则式匹配 "Guy Harrison" REGEXP "Ggreg" FalseIS NULL 为空 0 IS NULL FalseIS NOT NULL 不为空 0 IS NOT NULL True3.逻辑运算符4.位运算符| 或& 与<< 左移位>> 右移位 非(单目运算,按位取反)注释:mysql存储过程可使用两种风格的注释双横杠:-该风格一般用于单行注释c风格:/* 注释内容 */ 一般用于多行注释-流程控制-一、顺序结构二、分支结构ifcase三、循环结构for循环while循环loop循环repeat un

44、til循环注:区块定义,常用begin.end;也可以给区块起别名,如:lable:begin.end lable;可以用leave lable;跳出区块,执行区块以后的代码begin和end如同C语言中的 和 。-输入和输出-mysql存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUTCreate procedure|function(IN |OUT |INOUT 参数名 数据类形.)IN 输入参数表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT 输出参数该值可在存储过程内部被改变,并可返回INOUT 输入输出参数调用时指

45、定,并且可被改变和返回IN参数例子:CREATE PROCEDURE sp_demo_in_parameter(IN p_in INT)BEGINSELECT p_in; -查询输入参数SET p_in=2; -修改select p_in;-查看修改后的值END;执行结果:mysql> set p_in=1mysql> call sp_demo_in_parameter(p_in)略mysql> select p_in;略以上可以看出,p_in虽然在存储过程中被修改,但并不影响p_id的值OUT参数例子创建:mysql> CREATE PROCEDURE sp_demo

46、_out_parameter(OUT p_out INT)BEGINSELECT p_out;/*查看输出参数*/SET p_out=2;/*修改参数值*/SELECT p_out;/*看看有否变化*/END;执行结果:mysql> SET p_out=1mysql> CALL sp_demo_out_parameter(p_out)略mysql> SELECT p_out;略INOUT参数例子:mysql> CREATE PROCEDURE sp_demo_inout_parameter(INOUT p_inout INT)BEGINSELECT p_inout;SE

47、T p_inout=2;SELECT p_inout;END;执行结果:set p_inout=1call sp_demo_inout_parameter(p_inout) /略select p_inout;略附:函数库mysql存储过程基本函数包括:字符串类型,数值类型,日期类型一、字符串类CHARSET(str) /返回字串字符集CONCAT (string2 , ) /连接字串INSTR (string ,substring ) /返回substring首次在string中出现的位置,不存在返回0LCASE (string2 ) /转换成小写LEFT (string2 ,length )

48、 /从string2中的左边起取length个字符LENGTH (string ) /string长度LOAD_FILE (file_name ) /从文件读取内容LOCATE (substring , string ,start_position ) 同INSTR,但可指定开始位置LPAD (string2 ,length ,pad ) /重复用pad加在string开头,直到字串长度为lengthLTRIM (string2 ) /去除前端空格REPEAT (string2 ,count ) /重复count次REPLACE (str ,search_str ,replace_str )

49、/在str中用replace_str替换search_strRPAD (string2 ,length ,pad) /在str后用pad补充,直到长度为lengthRTRIM (string2 ) /去除后端空格STRCMP (string1 ,string2 ) /逐字符比较两字串大小,SUBSTRING (str , position ,length ) /从str的position开始,取length个字符,注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1mysql> select substring(abcd,0,2);+| substr

50、ing(abcd,0,2) |+| |+1 row in set (0.00 sec)mysql> select substring(abcd,1,2);+| substring(abcd,1,2) |+| ab |+1 row in set (0.02 sec)TRIM(BOTH|LEADING|TRAILING padding FROMstring2) /去除指定位置的指定字符UCASE (string2 ) /转换成大写RIGHT(string2,length) /取string2最后length个字符SPACE(count) /生成count个空格二、数值类型ABS (numbe

51、r2 ) /绝对值BIN (decimal_number ) /十进制转二进制CEILING (number2 ) /向上取整CONV(number2,from_base,to_base) /进制转换FLOOR (number2 ) /向下取整FORMAT (number,decimal_places ) /保留小数位数HEX (DecimalNumber ) /转十六进制注:HEX()中可传入字符串,则返回其ASC-11码,如HEX(DEF)返回4142143也可以传入十进制整数,返回其十六进制编码,如HEX(25)返回19LEAST (number , number2 ,.) /求最小值MOD (numerator ,denominator ) /求余POWER (number ,power ) /求指数RAND(seed) /随机数ROUND (number ,decimals ) /四舍五入,decimals为小数位数注:返回类型并非均为整数,如:(1)默认变为整形值mysql> select round(1.23);+-+| round(1.23) |+-+| 1 |+-+1 row in set (0.00 sec)mysql> select round(1.56);+-+| round(1.56) |+-+| 2 |+-+1 row in set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论