为什么在安装最新版本的Mysql的时候服务器总在启动,停不下来

为什么在安装最新版本的Mysql的时候服务器总在启动,停不下来,第1张

1、如果您是用MySQL+Apache,使用的又是FreeBSD网路 *** 作系统的话,安装时候你应按注意到FreeBSD的版本问题,在FreeBSD的3.0以下版本来说,MySQL Source内含的MIT-pthread运行是正常的,但在这版本以上,你必须使用

native threads,也就是加入一个with-named-thread-libs=-lc_r的选项。

2、如果您在COMPILE过程中出了问题,请先检查你的gcc版本是否在2.81版本以上,gmake版本是否在3.75以上。

3、如果不是版本的问题,那可能是你的内存不足,请使用./configure -- with-low-memory来加入。

4、如果您要重新做你的configure,那么你可以键入rm config.cache和make clean来清除记录。

5、我们一般把MySQL安装在/usr/local目录下,这是缺省值,您也可以按照你的需要设定你所安装的目录。

三、启动和停止MySQL

如果你的机器上从未安装过MySQL的话,在安装MySQL时,最后一个键入的命令是/usr/local/mysql-3.23X/scripts/mysql_install_db

如果你是同时安装多台机器的话,你可以编辑一下这档案,这样一来可以使你方便的设置好每一台的权限。

1、在安装目录/usr/local启动mysql可以使用/usr/local/share/mysql/mysql.server start记得把mysql.server的属性设置成777

2、要停止mysql daemon可以使用/usr/local/bin/mysqladmin shutdown来实现

3、如果你的mysql已经设置了密码,你必须使用mysqladmin -u root -p shutdown来实现

四、用root建一个MYSQL的使用者

你需要先用root登入机器,然后改变目录存取权限chown -R mysql /usr/local/var,接着修改mysql.server 档案,这文件位于/usr/local/share/mysql/下,把mysql_daemon_user=root改成mysql_daemon_user=mysql。

但是在以后新增资料库之后,记得把你的相关档案存取权限改过去:chown -R mysql /usr/local/var/some_new_dbs

如果你希望你的电脑启动时候自动加载mysql,你只要在/etc/rc.local加入一行/usr/local/mysql/share.server start

五、测试你的mysql

启动mysql后,你可以使用ps -aux来测试,你就发现多了两个process MYSQL使用的语法概观

字符串类型---STRINGS

字符串的匹配必须是成对的,例如:

‘MY IS OCP’

“MY IS OCPISCAI”

他们必须是是用‘’或“”来表示!

我们来举一些在字符串里面含有单引号和双引号的例子,例如:

重复双引号:

mysql>select “ hi! “ “ocp” “!”

->hi!”ocp”!

因为我们的HTML网络里含有许多的单引号和双引号,所以程序

在这里会遇到些因为单引号和双引号而出错的问题,所以要加以小心。

数字类型---NUMBERS

我们来看一些合法的数字表达方式:

以下为引用的内容:

7

777

-777

77.77

77.777

-777.7777o+7

资料库的命名问题,TATBLE、INDEX、COLUMN、以及ALIAS NAME 的命名原则数字可以做为字首,可以有底线,但是不能完全是数字。尽可能的避免使用$字符,在MYSQL里$字符是完全合法的,不过就是会和PHP混淆,所以尽量不使用的好。在命名里不能有“.”字符。ALIAS NAME可以使用256个字符,其它的长度一般都限制在60个字符内。你可以根据你的需要自己修改MYSQL_INSTALL_DB把你所需要修改的长度改一改,改的时候注意别改的太过夸张,MYSQL资料库是可以支持,但MYSQL的核心我没有试过,也许会出现错误。

数值函数:在数值函数出错的时候,传回的都是NULL

LOG10(X) :以10为底的LOG值

以下为引用的内容:

mysql>SELECT LOG (EXP(1));

->2.000000

EXP(X):传回E的X次方,其中E是NATURAL LOG 的底数。

FLOOR(X):传回小于等于X的最大整数。

CEILING(X):传回大雨等于X的最小整数。

ROUND(X):四舍五入到整数。

MOD(N,M) 或者 % :取N除以M的余数。

SIGN(X):X大于传回1,X等于0传回0,X小于0传回-1。

ABS(X):取绝对值。

ROUND(X,D):四舍五入到D位小数。D等于0则与ROUND(X)相同。

三角函数:

ATAN(X,Y):反三角函数

ATAN2(X,Y):反三角函数

LEAST(X,Y,。。。):至少两个参数,传回最小值。

GREATEST(X,Y,。。。):至少两个参数,传回最大值。

DEGREES(X):转换弧度(RADIAN)到度数。

RADIANS(X):转换度数到弧度。

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。

SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。

mysql2000和sql2000数据库的区别

1.根本的区别是它们遵循的基本原则

二者所遵循的基本原则是它们的主要区别:开放vs保守。SQL服务器的狭隘的,保守的存储引擎与MySQL服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用SQL服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的关键词,所以它比SQL服务器要少一些相关的数据库。同时,MySQL也缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能。

2.性能:先进的MySQL

纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。Yahoo!商业网站就使用MySQL作为后台数据库。

当提及软件的性能,SQL服务器的稳定性要比它的竞争对手强很多。但是,这些特性也要付出代价的。比如,必须增加额外复杂 *** 作,磁盘存储,内存损耗等等。如果你的硬件和软件不能充分支持SQL服务器,我建议你最好选择其他如DBMS数据库,因为这样你会得到更好的结果。

3.发行费用:MySQL不全是免费,但很便宜

当提及发行的费用,这两个产品采用两种绝然不同的决策。对于SQL服务器,获取一个免费的开发费用最常的方式是购买微软的Office或者Visual Studio的费用。但是,如果你想用于商业产品的开发,你必须还要购买SQL Server Standard Edition。学校或非赢利的企业可以不考虑这一附加的费用。

4.安全功能

MySQL有一个用于改变数据的二进制日志。因为它是二进制,这一日志能够快速地从主机上复制数据到客户机上。即使服务器崩溃,这一二进制日志也会保持完整,而且复制的部分也不会受到损坏。

在SQL服务器中,你也可以记录SQL的有关查询,但这需要付出很高的代价。

安全性

这两个产品都有自己完整的安全机制。只要你遵循这些安全机制,一般程序都不会出现什么问题。这两者都使用缺省的IP端口,但是有时候很不幸,这些IP也会被一些黑客闯入。当然,你也可以自己设置这些IP端口。

恢复性:先进的SQL服务器

恢复性也是MySQL的一个特点,这主要表现在MyISAM配置中。这种方式有它固有的缺欠,如果你不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQL服务器而言就表现得很稳键。SQL服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。

Oracle和SQL Server之间的区别,已经有很多篇文章从企业的角度和数据库管理员的角度出发描写了两者之间的一般差别。在这篇文章里面,我将会从应用程序的角度向你描述SQL erver 和oracle平台之间的区别,并且将会讨论开发不依赖于数据库环境的应用程序的几种可能的方法。与此同时,我不会再论讨对于应用程序来说,两个平台之间显而易见的区别,例如表的分割和索引。

定义通用接口和语言有很少的几种通用语言和接口可以让应用程序不依赖于数据库,想来也可以以同样的方式应用在关系型数据库上面: ANSI是美国国家标准局定义的,这是一家志愿者成员的组织(用私人基金运转),他们在有关设备和程序等广泛领域内开发了国家承认的标准。在数据库领域,ANSI定义了编写SQL命令的标准,假设命令可以运行在任何的数据库上,而不需要更改命令的语法。ODBC是开放数据库连接(ODBC)接口,微软定义的,它可以让应用程序访问数据库管理系统(DBMS)中的数据,使用SQL作为访问数据的标准。ODBC允许最大的互联性,这意味着一个单个的应用程序可以访问不同的数据库管理系统。然后,应用程序终端用户可以添加开放数据库连接(ODBC)数据库驱动来将应用程序与他们所选择的数据库管理系统链接上。 OLE DB是ODBC的继承者,是一组允许例如基于VB、C++、Access等任何可以连接到类似SQL Server、Oracle、DB2、MySQL等后台的“前台”的软件组件。在许多种情况下,OLE DB组件都比原有的ODBC提供了好得多的性能。 JDBC(Java数据库连接)应用程序接口是Java编程语言和广泛范围的数据库,SQL数据库和其他表列数据源(例如电子表格或者普通文本文件)之间,进行不依赖于数据库的连接的行业标准。JDBD应用程序接口为基于SQL的数据库访问提供了调用级别的应用程序接口。真实世界中的通用接口不幸的是,并不是所有数据库级别的命令都是ANSI,每个数据库平台都有自己的扩展功能。对于ANSI或者通用接口,一般来说都代表着几本功能,因此也可能意味着丧失了性能方面的竞争力。对于小型数据库和小型应用程序来说,要维护对数据库的通用访问是简单的,但是当数据库和/或应用程序变得越来越大,越来越复杂,你就不得不向代码中添加功能。

SQL Server和Oracle的常用函数对比

---------数学函数

1.绝对值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(小)

S:select floor(-1.001) value

O:select floor(-1.001) value from dual

4.取整(截取)

S:select cast(-1.002 as int) value

O:select trunc(-1.002) value from dual

5.四舍五入

S:select round(1.23456,4) value 1.23460

O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂

S:select Exp(1) value 2.7182818284590451

O:select Exp(1) value from dual 2.71828182

7.取e为底的对数

S:select log(2.7182818284590451) value 1

O:select ln(2.7182818284590451) value from dual1

8.取10为底对数

S:select log10(10) value 1

O:select log(10,10) value from dual1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

10.取平方根

S:select SQRT(4) value 2

O:select SQRT(4) value from dual 2

11.求任意数为底的幂

S:select power(3,4) value 81

O:select power(3,4) value from dual 81

12.取随机数

S:select rand() value

O:select sys.dbms_random.value(0,1) value from dual

13.取符号

S:select sign(-8) value -1

O:select sign(-8) value from dual -1

----------三角函数相关

14.圆周率

S:SELECT PI() value 3.1415926535897931

O:不知道

15.sin,cos,tan 参数都以弧度为单位

例如:select sin(PI()/2) value 得到1(SQLServer)

16.Asin,Acos,Atan,Atan2 返回弧度

17.弧度角度互换(SQLServer,Oracle不知道)

DEGREES:弧度-〉角度

RADIANS:角度-〉弧度

---------数值间比较

18. 求集合最大值

S:select max(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select greatest(1,-2,4,3) value from dual

19. 求集合最小值

S:select min(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select least(1,-2,4,3) value from dual

20.如何处理null值(F2中的null以10代替)

S:select F1,IsNull(F2,10) value from Tbl

O:select F1,nvl(F2,10) value from Tbl

--------字符串函数

21.求字符序号

S:select ascii('a') value

O:select ascii('a') value from dual

22.从序号求字符

S:select char(97) value

O:select chr(97) value from dual

23.连接

S:select '11'+'22'+'33' value

O:select CONCAT('11','22')||33 value from dual

23.子串位置 --返回3

S:select CHARINDEX('s','sdsq',2) value

O:select INSTR('sdsq','s',2) value from dual

23.模糊子串的位置 --返回2,参数去掉中间%则返回7

// 本文转自 C++Builder 研究 - [url][/url]

S:select patindex('%d%q%','sdsfasdqe') value

O:oracle没发现,但是instr可以通过第四个参数控制出现次数

select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

24.求子串

S:select substring('abcd',2,2) value

O:select substr('abcd',2,2) value from dual

25.子串代替 返回aijklmnef

S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value

O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

26.子串全部替换

S:Replace

O:select Translate('fasdbfasegas','fa','我' ) value from dual

27.长度

S:len,datalength

O:length

28.大小写转换 lower,upper

29.单词首字母大写

S:没发现

O:select INITCAP('abcd dsaf df') value from dual

30.左补空格(LPAD的第一个参数为空格则同space函数)

S:select space(10)+'abcd' value

O:select LPAD('abcd',14) value from dual

31.右补空格(RPAD的第一个参数为空格则同space函数)

S:select 'abcd'+space(10) value

O:select RPAD('abcd',14) value from dual

32.删除空格

S:ltrim,rtrim

O:ltrim,rtrim,trim

33. 重复字符串

S:select REPLICATE('abcd',2) value

O:没发现

34.发音相似性比较(这两个单词返回值一样,发音相同)

S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')

O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual

SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差

返回0-4,4为同音,1最高

--------------日期函数

35.系统时间

S:select getdate() value

O:select sysdate value from dual

36.前后几日

直接与整数相加减

37.求日期

S:select convert(char(10),getdate(),20) value

O:select trunc(sysdate) value from dual

select to_char(sysdate,'yyyy-mm-dd') value from dual

38.求时间

S:select convert(char(8),getdate(),108) value

O:select to_char(sysdate,'hh24:mm:ss') value from dual

39.取日期时间的其他部分

S:DATEPART 和 DATENAME 函数 (第一个参数决定)

O:to_char函数 第二个参数决定

参数---------------------------------下表需要补充

year yy, yyyy

quarter qq, q (季度)

month mm, m (m O无效)

dayofyear dy, y (O表星期)

day dd, d (d O无效)

week wk, ww (wk O无效)

weekday dw (O不清楚)

Hour hh,hh12,hh24 (hh12,hh24 S无效)

minute mi, n (n O无效)

second ss, s (s O无效)

millisecond ms (O无效)

----------------------------------------------

40.当月最后一天

S:不知道

O:select LAST_DAY(sysdate) value from dual

41.本星期的某一天(比如星期日)

S:不知道

O:SELECT Next_day(sysdate,7) vaule FROM DUAL

42.字符串转时间

S:可以直接转或者select cast('2004-09-08'as datetime) value

O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL

43.求两日期某一部分的差(比如秒)

S:select datediff(ss,getdate(),getdate()+12.3) value

O:直接用两个日期相减(比如d1-d2=12.3)

SELECT (d1-d2)*24*60*60 vaule FROM DUAL

44.根据差值求新的日期(比如分钟)

S:select dateadd(mi,8,getdate()) value

O:SELECT sysdate+8/60/24 vaule FROM DUAL

45.求不同时区时间

S:不知道

O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL

-----时区参数,北京在东8区应该是Ydt-------

AST ADT 大西洋标准时间

BST BDT 白令海标准时间

CST CDT 中部标准时间

EST EDT 东部标准时间

GMT 格林尼治标准时间

HST HDT 阿拉斯加—夏威夷标准时间

MST MDT 山区标准时间

NST 纽芬兰标准时间

PST PDT 太平洋标准时间

YST YDT YUKON标准时间

Oracle支持的字符函数和它们的Microsoft SQL Server等价函数:

函数 Oracle Microsoft SQL Server

把字符转换为ASCII ASCII ASCII

字串连接 CONCAT (expression + expression)

把ASCII转换为字符 CHR CHAR

返回字符串中的开始字符(左起) INSTR CHARINDEX

把字符转换为小写 LOWER LOWER

把字符转换为大写 UPPER UPPER

填充字符串的左边 LPAD N/A

清除开始的空白 LTRIM LTRIM

清除尾部的空白 RTRIM RTRIM

字符串中的起始模式(pattern) INSTR PATINDEX

多次重复字符串 RPAD REPLICATE

字符串的语音表示 SOUNDEX SOUNDEX

重复空格的字串 RPAD SPACE

从数字数据转换为字符数据 TO_CHAR STR

子串 SUBSTR SUBSTRING

替换字符 REPLACE STUFF

将字串中的每个词首字母大写 INITCAP N/A

翻译字符串 TRANSLATE N/A

字符串长度 LENGTH DATELENGTH or LEN

列表中最大的字符串 GREATEST N/A

列表中最小的字符串 LEAST N/A

如果为NULL则转换字串 NVL ISNULL

日期函数

函数 Oracle Microsoft SQL Server

日期相加 (date column +/- value) or

ADD_MONTHS DATEADD

两个日期的差 (date column +/- value) or

MONTHS_BETWEEN DATEDIFF

当前日期和时间 SYSDATE GETDATE()

一个月的最后一天 LAST_DAY N/A

时区转换 NEW_TIME N/A

日期后的第一个周日 NEXT_DAY N/A

代表日期的字符串 TO_CHAR DATENAME

代表日期的整数 TO_NUMBER

(TO_CHAR)) DATEPART

日期舍入 ROUND CONVERT

日期截断 TRUNC CONVERT

字符串转换为日期 TO_DATE CONVERT

如果为NULL则转换日期 NVL ISNULL

转换函数

函数 Oracle Microsoft SQL Server

数字转换为字符 TO_CHAR CONVERT

字符转换为数字 TO_NUMBER CONVERT

日期转换为字符 TO_CHAR CONVERT

字符转换为日期 TO_DATE CONVERT

16进制转换为2进制 HEX_TO_RAW CONVERT

2进制转换为16进制 RAW_TO_HEX CONVERT

其它行级别的函数

函数 Oracle Microsoft SQL Server

返回第一个非空表达式 DECODE COALESCE

当前序列值 CURRVAL N/A

下一个序列值 NEXTVAL N/A

如果exp1 = exp2, 返回null DECODE NULLIF

用户登录账号ID数字 UID SUSER_ID

用户登录名 USER SUSER_NAME

用户数据库ID数字 UID USER_ID

用户数据库名 USER USER_NAME

当前用户 CURRENT_USER CURRENT_USER

用户环境(audit trail) USERENV N/A

在CONNECT BY子句中的级别 LEVEL N/A

合计函数

函数 Oracle Microsoft SQL Server

Average AVG AVG

Count COUNT COUNT

Maximum MAX MAX

Minimum MIN MIN

Standard deviation STDDEV STDEV or STDEVP

Summation SUM SUM

Variance VARIANCE VAR or VARP

Oracle还有一个有用的函数EXTRACT,提取并且返回日期时间或时间间隔表达式中特定的时间域:

EXTRACT(YEAR FROM 日期)

--数据 *** 作

2

3 SELECT --从数据库表中检索数据行和列

4 INSERT --向数据库表添加新数据行

5 DELETE --从数据库表中删除数据行

6 UPDATE --更新数据库表中的数据

7

8 --数据定义

9

10 CREATE TABLE --创建一个数据库表

11 DROP TABLE --从数据库中删除表

12 ALTER TABLE --修改数据库表结构

13 CREATE VIEW --创建一个视图

14 DROP VIEW --从数据库中删除视图

15 CREATE INDEX --为数据库表创建一个索引

16 DROP INDEX --从数据库中删除索引

17 CREATE PROCEDURE --创建一个存储过程

18 DROP PROCEDURE --从数据库中删除存储过程

19 CREATE TRIGGER --创建一个触发器

20 DROP TRIGGER --从数据库中删除触发器

21 CREATE SCHEMA --向数据库添加一个新模式

22 DROP SCHEMA --从数据库中删除一个模式

23 CREATE DOMAIN --创建一个数据值域

24 ALTER DOMAIN --改变域定义

25 DROP DOMAIN --从数据库中删除一个域

26

27 --数据控制

28

29 GRANT --授予用户访问权限

30 DENY --拒绝用户访问

31 REVOKE --解除用户访问权限

32

33 --事务控制

34

35 COMMIT --结束当前事务

36 ROLLBACK --中止当前事务

37 SET TRANSACTION --定义当前事务数据访问特征

38

39 --程序化SQL

40

41 DECLARE --为查询设定游标

42 EXPLAN --为查询描述数据访问计划

43 OPEN --检索查询结果打开一个游标

44 FETCH --检索一行查询结果

45 CLOSE --关闭游标

46 PREPARE --为动态执行准备SQL 语句

47 EXECUTE --动态地执行SQL 语句

48 DESCRIBE --描述准备好的查询

49

50 ---局部变量

51 declare @id varchar(10)

52 --set @id = 'sp'

53 select @id = 'sp'

54

55 ---全局变量

56 ---必须以@@开头

57 --IF ELSE

58 declare @x int @y int @z int

59 select @x = 1 @y = 2 @z=3

60 if @x >@y

61 print 'x >y' --打印字符串'x >y'

62 else if @y >@z

63 print 'y >z'

64 else print 'z >y'

65 --CASE

66 use pubs

67 update employee

68 set e_wage =

69 case

70 when job_level = ’1’ then e_wage*1.08

71 when job_level = ’2’ then e_wage*1.07

72 when job_level = ’3’ then e_wage*1.06

73 else e_wage*1.05

74 end

75 --WHILE CONTINUE BREAK

76 declare @x int @y int @c int

77 select @x = 1 @y=1

78 while @x <3

79 begin

80 print @x --打印变量x 的值

81 while @y <3

82 begin

83 select @c = 100*@x + @y

84 print @c --打印变量c 的值

85 select @y = @y + 1

86 end

87 select @x = @x + 1

88 select @y = 1

89 end

90 --WAITFOR

91

92 --例 等待1 小时2 分零3 秒后才执行SELECT 语句

93

94 waitfor delay ’01:02:03’

95 select * from employee

96

97--例 等到晚上11 点零8 分后才执行SELECT 语句

98

99waitfor time ’23:08:00’

100

101

102SELECT

103

104 select *(列名) from table_name(表名) where column_name operator value ex宿主)

105 select * from stock_information where stockid = str(nid)

106 stockname = 'str_name'

107 stockname like '% find that %'

108 stockname like '[a-zA-Z]%' --------- ([]指定值的范围)

109 stockname like '[^F-M]%' --------- (^排除指定范围)

110 --------- 只能在使用like关键字的where子句中使用通配符)

111 or stockpath = 'path'

112 or stocknumber <1000

113 and stockindex = 24

114 not stocksex = 'man'

115 stocknumber between 20 and 100

116 stocknumber in(10,20,30)

117 order by stockid desc(asc) --------- 排序,desc-降序,asc-升序

118 order by 1,2 --------- by列号

119 stockname = (select stockname from stock_information where stockid = 4)

120 --------- 子查询

121 --------- 除非能确保内层select只返回一个行的值

122 --------- 否则应在外层where子句中用一个in限定符

123 select distinct column_name form table_name

124 --------- distinct指定检索独有的列值,不重复

125 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name

126 select stockname , "stocknumber" = count(*) from table_name group by stockname

127 --------- group by 将表按行分组,指定列中有相同的值

128 having count(*) = 2 --------- having选定指定的组

129

130 select *

131 from table1, table2

132where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示

133 table1.id =* table2.id -------- 右外部连接

134 select stockname from table1

135 union [all] -------- union合并查询结果集,all-保留重复行

136 select stockname from table2

137

138 insert

139

140 insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"

141 value (select Stockname , Stocknumber from Stock_table2)

142 -------value为select语句

143

144 update

145

146 update table_name set Stockname = "xxx" [where Stockid = 3]

147 Stockname = default

148 Stockname = null

149 Stocknumber = Stockname + 4

150

151 delete

152

153 delete from table_name where Stockid = 3

154 truncate table 表名 --------- 删除表中所有行,仍保持表的完整性

155 drop table table_name --------- 完全删除表

156

157 alter table -------- 修改数据库表结构

158

159 alter table database.owner.table_name add column_name char(2) null ..

160 sp_help 表名 -------- 显示表已有特征

161 create table table_name (name char(20), age smallint, lname varchar(30))

162 insert into table_name select -------- 实现删除列的方法(创建新表)

163 alter table table_name drop constraint Stockname_default

164 --------- 删除Stockname的default约束

165

166

167常用函数(function)

168转换函数

169convert(数据类型,值,格式)

170

171 统计函数

172

173 AVG --求平均值

174 COUNT --统计数目

175 MAX --求最大值

176 MIN --求最小值

177 SUM --求和

178 STDEV()

179

180 --STDEV()函数返回表达式中所有数据的标准差

181 --STDEVP()

182 --STDEVP()函数返回总体标准差

183

184 VAR()

185

186 --VAR()函数返回表达式中所有值的统计变异数

187

188 VARP()

189

190 --VARP()函数返回总体变异数

191

192 算术函数

193

194 三角函数

195

196 SIN(float_expression) --返回以弧度表示的角的正弦

197 COS(float_expression) --返回以弧度表示的角的余弦

198 TAN(float_expression) --返回以弧度表示的角的正切

199 COT(float_expression) --返回以弧度表示的角的余切

200

201 反三角函数

202

203 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角

204 ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角

205 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角

206 ATAN2(float_expression1,float_expression2)

207 ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角

208 DEGREES(numeric_expression)

209 ------把弧度转换为角度返回与表达式相同的数据类型可为

210 ------INTEGER/MONEY/REAL/FLOAT 类型

211 RADIANS(numeric_expression)

212------把角度转换为弧度返回与表达式相同的数据类型可为

213

214 ------INTEGER/MONEY/REAL/FLOAT 类型

215 EXP(float_expression) --返回表达式的指数值

216 LOG(float_expression) --返回表达式的自然对数值

217 LOG10(float_expression)--返回表达式的以10 为底的对数值

218 SQRT(float_expression) --返回表达式的平方根

219

220 取近似值函数

221

222 CEILING(numeric_expression)

223-------返回>=表达式的最大整数返回的数据类型与表达式相同可为

224 -------INTEGER/MONEY/REAL/FLOAT 类型

225 FLOOR(numeric_expression)

226-------返回<=表达式的最小整数返回的数据类型与表达式相同可为

227 -------INTEGER/MONEY/REAL/FLOAT 类型

228 ROUND(numeric_expression)

229-------返回以integer_expression 为精度的四舍五入值返回的数据

230 -------类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

231 ABS(numeric_expression)

232-------返回表达式的绝对值返回的数据类型与表达式相同可为

233 -------INTEGER/MONEY/REAL/FLOAT 类型

234 SIGN(numeric_expression)

235-------测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型

236 -------与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

237 PI() -------返回值为π 即3.1415926535897936

238 RAND([integer_expression])

239-------用任选的[integer_expression]做种子值得出0-1 间的随机浮点数

240字符串函数

241

242 ASCII() ------函数返回字符表达式最左端字符的ASCII 码值

243 CHAR() ------函数用于将ASCII 码转换为字符

244 ------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值

245 LOWER() ------函数把字符串全部转换为小写

246 UPPER() ------函数把字符串全部转换为大写

247 STR() ------函数把数值型数据转换为字符型数据

248 LTRIM() ------函数把字符串头部的空格去掉

249 RTRIM() ------函数把字符串尾部的空格去掉

250 LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串

251 CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置

252 SOUNDEX() ------函数返回一个四位字符码

253 ------SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值

254 DIFFERENCE() ------函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异

255 ------0 两个SOUNDEX 函数返回值的第一个字符不同

256 ------1 两个SOUNDEX 函数返回值的第一个字符相同

257 ------2 两个SOUNDEX 函数返回值的第一二个字符相同

258 ------3 两个SOUNDEX 函数返回值的第一二三个字符相同

259 ------4 两个SOUNDEX 函数返回值完全相同同

260 QUOTENAME() ------函数返回被特定字符括起来的字符串

261

262 /**//**//**//*select quotename('abc', '{') quotename('abc')

263 运行结果如下

264

265 {

266 {abc} [abc]*/

267 REPLICATE() ------函数返回一个重复character_expression 指定次数的字符串

268 /**//**//**//*select replicate('abc', 3) replicate( 'abc', -2)

269

270 运行结果如下

271

272 abcabcabc NULL*/

273 REVERSE() ------函数将指定的字符串的字符排列顺序颠倒

274 REPLACE() ------函数返回被替换了指定子串的字符串

275 /**//**//**//*select replace('abc123g', '123', 'def')

276

277 运行结果如下

278

279 abcdefg*/

280

281 SPACE() ------函数返回一个有指定长度的空白字符串

282 STUFF() ------函数用另一子串替换字符串指定位置长度的子串

283

284 数据类型转换函数

285

286 CAST() 函数语法如下

287 CAST() ( AS [ length ])

288 CONVERT() 函数语法如下

289 CONVERT() ([ length ], [, style])

290 select cast(100+99 as char) convert(varchar(12), getdate())

291

292 运行结果如下

293 199 Jan 15 2000

294

295 日期函数

296

297 DAY() ------函数返回date_expression 中的日期值

298 MONTH() ------函数返回date_expression 中的月份值

299 YEAR() ------函数返回date_expression 中的年份值

300 DATEADD( , ,)

301 -----函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期

302 DATEDIFF( , ,)

303 -----函数返回两个指定日期在datepart 方面的不同之处

304

305 DATENAME( , ------函数以字符串的形式返回日期的指定部分

306 DATEPART( , ------函数以整数值的形式返回日期的指定部分

307 GETDATE() ------函数以DATETIME 的缺省格式返回系统当前的日期和时间

308

309 系统函数

310

311 APP_NAME() ------函数返回当前执行的应用程序的名称

312 COALESCE() -----函数返回众多表达式中第一个非NULL 表达式的值

313 COL_LENGTH(<'table_name'>, <'column_name'>----函数返回表中指定字段的长度值

314 COL_NAME(, ----函数返回表中指定字段的名称即列名

315 DATALENGTH() -----函数返回数据表达式的数据的实际长度

316 DB_ID(['database_name']) ------函数返回数据库的编号

317 DB_NAME(database_id) ------函数返回数据库的名称

318 HOST_ID() -----函数返回服务器端计算机的名称

319 HOST_NAME() -----函数返回服务器端计算机的名称

320 IDENTITY([, seed increment]) [AS column_name])

321 --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中

322 /**//**//**//*select identity(int, 1, 1) as column_name

323 into newtable

324 from oldtable*/

325

326 ISDATE() ----函数判断所给定的表达式是否为合理日期

327 ISNULL(, --函数将表达式中的NULL 值用指定值替换

328 ISNUMERIC() ----函数判断所给定的表达式是否为合理的数值

329 NEWID() ----函数返回一个UNIQUEIDENTIFIER 类型的数值

330 NULLIF(,

331 ----NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7292234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存