我的天空,我的世界

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通配符:
单个字符'_'
任意长度%
指定范围内[]
不在括号内[^]

 

建立数据库:
CREATE DATABASE 数据库名 ON([<数据文件参数>...n]) [LOG ON] ([<日志文件参数>...n])

 

建立表格:
CREATE TABLE 表面{[列名1 数据类型 列描述],[列名2 数据类型 列描述],[...]}
TSQL标示符规则为:字母、数字、@、#、$、下划线等组成,数字不能为首字符。

增加记录:
INSERT [INTO] <表名> [列名] VALUES <列表名>

更新记录:
UPDATE <表名> SET 列名=更新值[,列名=更新值] [WHERE<更新条件>] 如果WHERE省略,则表中所有记录都会被修改。

删除记录:
DELETE <表名> [WHERE <删除条件>]

查询数据:
SELECT <列名> [as/= 列的别名] FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列名>[ASC或DESC]]
查询条件表达式:
IN('条件值1','条件值2'...)
IS 条件值 比如null
LIKE '匹配字符串' 通配符'_'代表一个任意字符,'%'表示任意长度的字符串,'[]'代表指定范围内的一个字符,如[0-9]

关联查询:
内联接:SELECT * FROM TA [inner] JOIN TB ON TA.EID=TB.EID
左外联接:SELECT * FROM TA LEFT JOIN TB ON TA.EID=TB.EID
右外联接:SELECT * FROM TA RIGHT JOIN TB ON TA.EID=TB.EID
笛卡尔联接(交叉联接):SELECT * FROM TA CROSS JOIN TB ON TA.EID=TB.EID

存储过程:CREATE PROC[EDURE] 存储过程名 [@参数... 数据类型=默认值OUTPUT,] [@参数... 数据类型=默认值OUTPUT] AS SQL语句集 Go

 

string connectionString="server=servername\\SQLEXPRESS;database=master;uid=sa;pwd=123";
//string connectionString="server=servername\\SQLEXPRESS;database=master;Integrated Security=SSPI";
string querySql="SELECT * FROM PERSON;";
//连接数据库:
using(SqlConnection cn=new SqlConnection(connectionString))
{
  cn.Open();
  //操作数据库:(增、删、改、查)
  cn.CommandText=CommandType.Text //CommandType.Text表示执行SQL语句,是默认值,CommandType.StoredProcedure 表示执行存储过程
  SqlCommand cmd=new SqlCommand(querySql,cn);
  //cmd.ExecuteNonQuery();     //用于执行增、删、改
  //ExecuteScalar返回一个Object类型的值,用于执行带有聚合函数的SQL语句,比如COUNT、AVG。
  //ExecuteReader返回一个SqlDataReader类型的结果集,通过SqlDataReader的Read方法来逐一读取记录。Read返回false表示已读完。
  SqlDataReader reader=command.ExecuteReader();
  while(reader.Read())
  {
    //通过四种方式获取当前记录的列值。前三种返回Object类型数据,需要拆箱操作,效率低。
    //第四种根据列值类型调用对应的方法。   
    Console.WriteLine(reader[0],reader[1]);                      //通过列号
    Console.WriteLine(reader["colume1"],reader["colume2"]);      //通过列名
    Console.WriteLine(reader.GetValue(0),readerGetValue(1));     //通过GetValue方法和列号
    Console.WriteLine(reader.GetString(0),reader.GetString(1));  //通过GetX方法和列号
  }
cn.Close();
}
事务操作保证了操作的一致性

事务操作

 带参数的操作:

带参数的操作

也可以自定义参数对象,定义完后要加入到命令对象里面:

自定义参数对象

 

posted on 2009-10-30 21:49  eaglegrace  阅读(407)  评论(0编辑  收藏  举报