*/
-----SQL Concatenate
/*有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
MySQL: CONCAT( )
Oracle: CONCAT( ), ||
SQL Server: +
CONCAT( ) 的语法如下:
CONCAT (字串1, 字串2, 字串3, ...)
将字串1、字串2、字串3,等字串连在一起。请注意,Oracle 的 CONCAT( ) 只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用 '||' 来一次串连多个字串。
*/
select Test2_outjoin.City_in_Where+''+Test2_outjoin.City as '测试Concatenate' from Test2_outjoin

----SubString
/*SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:
MySQL: SUBSTR( ), SUBSTRING( )
Oracle: SUBSTR( )
SQL Server: SUBSTRING( )
最常用到的方式如下 (在这里我们用 SUBSTR( ) 为例):
SUBSTR (str, pos)
由
SUBSTR (str, pos, len)
由
*/
--------------------Trim
/*
SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称:
MySQL: TRIM( ), RTRIM( ), LTRIM( ) Oracle: RTRIM( ), LTRIM( ) SQL Server: RTRIM( ), LTRIM( )
各种 trim 函数的语法如下:
TRIM ( [ [位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。
LTRIM(字串): 将所有字串起头的空白移除。
RTRIM(字串): 将所有字串结尾的空白移除。
*/ ---------------------视图 view ---以现有表(StudentInfo)创建视图 create view V_Student as select name,Chinese,Math,English from StudentInfo select * from V_Student -----建立索引 在StudentInfo 表的name栏位建立索引 create index index_name_Studentinfo on Studentinfo(name) ------------------AlTER TABLER 改变表结构 /* ALTER TABLE 的语法如下: ALTER TABLE "table_name" [改变方式]; ?加一个栏位: ADD "栏位 1" "栏位 1 资料种类" ?删去一个栏位: DROP "栏位 1" ?改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类" ?改变栏位的资料种类: MODIFY "栏位 1" "新资料种类" */ ---增加一列 Alter table StudentInfo add 备注 nvarchar(20) -----改变列名(SQL server 请用 sp_rename存储过程详细使用请查资料 exec sp_rename 'StudentInfo.name','姓名','COLUMN' ------------------------建立表格主键 /*
主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或多个栏位。当主键包含多个栏位时,称为组合键 (Composite Key)。
主键可以在建置新表格时设定 (运用 CREATE TABLE 语句),或是以改变现有的表格架构方式设定 (运用 ALTER TABLE)。
以下举几个在建置新表格时设定主键的方式:
?
[MySQL: ] CREATE TABLE Customer (SID integer, Last_Name varchar(30), First_Name varchar(30), PRIMARY KEY (SID)); [Oracle: ] CREATE TABLE Customer (SID integer PRIMARY KEY, Last_Name varchar(30), First_Name varchar(30)); [SQL Server: ] CREATE TABLE Customer (SID integer PRIMARY KEY, Last_Name varchar(30), First_Name varchar(30));
以下则是以改变现有表格架构来设定主键的方式:
[MySQL:] ALTER TABLE Customer ADD PRIMARY KEY (SID); [Oracle:] ALTER TABLE Customer ADD PRIMARY KEY (SID); [SQL Server:] ALTER TABLE Customer ADD PRIMARY KEY (SID);
请注意,在用 ALTER TABLE 语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 『NOT NULL』 ;也就是说,那个栏位一定不能没有资料。
?
*/
------------------------------------------删除表中的全部资料TRUNCATE TABLE 指令
truncate table PersonInfo
select * from PersonInfo
go
----------------------------------------数据的插入 insert into
----操作形式一:INSERT INTO "表格名" ("栏位1", "栏位2", ...)VALUES ("值1", "值2", ...);
----操作形式二:INSERT INTO "表格1" ("栏位1", "栏位2", ...)SELECT "栏位3", "栏位4", ...FROM "表格2";
-----------------------------------------修改表格中的值 UPDATE
-----语法为:UPDATE "表格名"SET "栏位1" = [新值]WHERE "条件"; 同时修改几个栏位:UPDATE "表格"SET "栏位1" = [值1], "栏位2" = [值2]WHERE "条件";
----------------------------------------直接数据库中的部分