① sql程序代码
-----------Mx=10,y=10
ifnotexists(select1fromMwherex=10andy=10)
begin
insertintoM
select10asx,10asy,'A'ast
selectt
fromM
wherex=10andy=10
end
else
begin
---下面的这个赋值查询必须是一行结果才可以
declare@Rltvarchar(10)
select@Rlt=t
fromM
wherex=10andy=10
if(@Rlt=Aor@Rlt=0)
begin
select@Rlt
end
if@Rlt=1
begin
selectt
fromA
wherex=10andy=10
end
if@Rlt=2
begin
selectt
fromB
wherex=10andy=10
end
if@Rlt=2
begin
selectt
fromB
wherex=10andy=10
end
if@Rlt=3
begin
selectt
fromC
wherex=10andy=10
end
end
② SQL代码解释
t.*,t,是一张表的指代,比喻 slect t.* from tableA t; t,代指tableA
t.ID,就是这张表里面的ID了,其余的类似,里面还有什么job_no.text,应该是控件的值了。。
where ....条件查询
group by 分组查询
left join 左连接,一左边为主表 匹配右边的,你网络下就懂了。
③ C#中关于sql查询的代码怎么写
string Con = "server=GRQ;uid=;pwd=;database=111 ;";
SqlConnection ConnSql = new SqlConnection( loveDataSet ); //Sql链接类的实例化
ConnSql.Open();//打开数据库
string strSQL = "select * from zong where sign like ' "%+ 文本框里的值 +%"' "; //要执行的SQL语句
SqlDataAdapter da = new SqlDataAdapter(strSQL, ConnSql); //创建DataAdapter数据适配器实例
DataSet ds = new DataSet();//创建DataSet实例
da.Fill(ds, "自定义虚拟表名");
//使用DataAdapter的Fill方法(填充),调用SELECT命令
dataGridView1.DataSource = ds.Tables[1].DefaultView;
ConnSql.Close();//关闭数据库
④ sql创建数据库代码
建议你把所有的对数据库的操作都写在sql server数据库存储过程中,然后通过C#代码 执行这些个存储过程,完成功能,这样做执行速度快,安全性高,这是最佳方案。
如果你非要用C#代码来做这些操作,就把这些sql语句写在业务逻辑层中(若是winForm写在客户端后台代码里,若是webForm项目就写在页面后台代码里),然后执行sql语句,完成功能。
以下是C#连接数据库的代码:
public static SqlConnection CreateSqlConnection()
{
SqlConnection conn = new SqlConnection("server=.;database=marsDB;uid=sa;pwd=;");
return conn;
}
public class DBoperate
{
SqlConnection con;
SqlCommand cmd;
public DBoperate()
{
try{
con = marsDB.CreateSqlConnection();
con.Open();
cmd = new SqlCommand();
cmd.Connection = con;
}catch
{
}
}
public void DBConRelease()
{
try
{
con.Close();
}
catch
{
}
}
public DataSet CreateDs(string sqlCmdText,string dtName)
{
cmd.CommandText = sqlCmdText;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, dtName);
return ds;
}
public bool UserQuery(string userAccount)
{
cmd.CommandText = "select count(*) from TB_userInfo where userAccount ='"+userAccount+"'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
return true;
}
else
{
return false;
}
}
public bool AdminQuery(string adminAccount)
{
cmd.CommandText = "select count(*) from TB_admin where adminAccount ='" + adminAccount + "'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
return true;
}
else
{
return false;
}
}
另外,站长团上有产品团购,便宜有保证
⑤ SQL数据库语言代码
select top 10 * from student
⑥ 用sql语言实现下列功能的sql语句代码
1. 创建数据库 学生成绩数据库 代码
create database 库名
on primary
(
name='名字',
filename='物理存储路径',
size=5mb, 大小
filegrowth=10% 增长量
),
(
ndf文件 语法和MDF一样
)
log on
(
ldf文件 语法同上
)
2. 创建数据表 课程信息表 代码
课程信息表(课号char(6),名称)
要求使用:主键(课号),非空(名称)
use 数据库名
create table subjectInfo
(
subjectId char(6) constraint PK_subjectId primary key
subjectName varchar(20) not null
)
3.创建数据库 学生信息表 代码
学生信息表(学号char(6),姓名,性别,民族,身份证号)
要求使用:主键(学号),默认(民族),非空(民族。姓名),唯一(身份证号),检查(性别)
create table studentInfo
(
studentId char(6) constraint PK_studentID primary key
studentName varchar(20) not null
sex varchar(4) constraint CK_sex check(sex='男' or sex='女')
nation varchar(10) constraint DF_ default('汉族') not null
ID(突然忘记身份证号怎么拼了) varchar(30) constraint UQ_ID unique(id)
)
4.常见数据表 成绩信息表
成绩信息表(id,学号,课号,分数)
要求实用:外间(学号,课号),检查(分数),自动编号(id)
create table score
(
id int identity(1,1)
stuId char(6) constraint FK_stuID foreign key references studentInfo(studentID)
subjectID char(6) constraint FK_subjectID foreign key references subjectInfo(subjectId)
score int constraint CK_score check(score>0 and score<101)
)
5.将下列课程信息添加到课程信息表的代码
课号 名称
100101 西班牙语
100102 大学英语
修改 课号为100102的课程名称: 专业英语
删除 课号为100101的课程信息
insert subjectInfo values ('100101','西班牙语')
insert subjectInfo values ('100102','大学英语')
update subjectInfo set subjectName='专业英语' where subjectID='100102'
delete from subjectInfo where subjectID='100101'
6. 创建视图 成绩信息表视图 的代码
成绩信息表视图(学号,姓名,课号,课程名称,分数)
create view v_score
as
select 学号=studentInfo.studentID,姓名=studentInfo.studentName,课号=score.subjectId,课程名称=subjectInfo.subjectName,分数=score.score from score inner join studentInfo on score.stuID=studentInfo.studentId inner join subjectInfo on score.subjectId=subjectInfo.subjectID
累了 剩下几题待会来写
⑦ sql增删改查的基本代码
adoquery1.Fielddefs[1].Name; 字段名
dbgrid1.columns[0].width:=10; dbgrid的字段宽度
adoquery1.Fields[i].DataType=ftString 字段类型
update jb_spzl set kp_item_name=upper(kp_item_name) 修改数据库表中某一列为大写
select * from master.dbo.sysobjects ,jm_barcode.dbo.users 多库查询
adotable1.sort:='字段名称 ASC' adotable排序
SQL常用语句一览
sp_password null,'新密码','sa' 修改数据库密码
(1)数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 orderby 字段名 [desc] "
sql="select * from 数据表 where 字段名 like '%字段值%' orderby 字段名 [desc]"
sql="select top10 * from 数据表 where 字段名 orderby 字段名[desc]"
sql="select * from 数据表 where 字段名 in('值1','值2','值3')"
sql="select * from 数据表 where 字段名 between 值1 and 值 2"
(2)更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2……字段n=值n where 条件表达式"
(3)删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表 "(将数据表所有记录删除)
(4)添加数据记录:
sql="insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…)"
sql="insert into 目标数据表 select * from 源数据表"(把源数据表的记录添加到目标数据表)
(5)数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大的值
MIN(字段名)取得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的方法:
sql="selectsum(字段名)as别名from数据表where条件表达式"
setrs=conn.excute(sql)
用rs("别名")获取统的计值,其它函数运用同上。
(5)数据表的建立和删除:
CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)
例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ())
DROPTABLE数据表名称(永久性删除一个数据表)
4.记录集对象的方法:
rs.movenext将记录指针从当前的位置向下移一行
rs.moveprevious将记录指针从当前的位置向上移一行
rs.movefirst将记录指针移到数据表第一行
rs.movelast将记录指针移到数据表最后一行
rs.absoluteposition=N将记录指针移到数据表第N行
rs.absolutepage=N将记录指针移到第N页的第一行
rs.pagesize=N设置每页为N条记录
rs.pagecount根据pagesize的设置返回总页数
rs.recordcount返回记录总数
rs.bof返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete删除当前记录,但记录指针不会向下移动
rs.addnew添加记录到数据表末端
rs.update更新数据表记录
SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?
添加、删除、修改使用db.Execute(Sql)命令执行操作
╔----------------╗
☆ 数据记录筛选 ☆
╚----------------╝
注意:单双引号的用法可能有误(没有测式)
Sql = "Select Distinct 字段名 From 数据表"
Distinct函数,查询数据库存表内不重复的记录
Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< #19:00# "
count函数,查询数库表内有多少条记录,“字段名1”是指同一字段
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 数据表 where 字段名 between 值1 and 值2"
Sql="select * from 数据表 where 字段名 between #2003-8-10# and #2003-8-12#"
在日期类数值为2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有记录,而不管是几点几分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
字段里面的数据格式为:2003-8-10 19:55:08,通过sql查出2003-8-10至2003-8-12的所有纪录,而不管是几点几分。
Sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
Sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
模糊查询
Sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
查找数据库中前10记录
Sql="select top n * form 数据表 order by newid()"
随机取出数据库中的若干条记录的方法
top n,n就是要取出的记录数
Sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
╔----------------╗
☆ 添加数据记录 ☆
╚----------------╝
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 数据表 valuess (值1,值2,值3 …)"
不指定具体字段名表示将按照数据表中字段的顺序,依次添加
sql="insert into 目标数据表 select * from 源数据表"
把源数据表的记录添加到目标数据表
╔----------------╗
☆ 更新数据记录 ☆
╚----------------╝
Sql="update 数据表 set 字段名=字段值 where 条件表达式"
Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
Sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n "
没有条件则更新整个数据表中的指定字段值
╔----------------╗
☆ 删除数据记录 ☆
╚----------------╝
Sql="delete from 数据表 where 条件表达式"
Sql="delete from 数据表"
没有条件将删除数据表中所有记录)
╔--------------------╗
☆ 数据记录统计函数 ☆
╚--------------------╝
AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
╔----------------------╗
☆ 数据表的建立和删除 ☆
╚----------------------╝
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
╔--------------------╗
☆ 记录集对象的方法 ☆
╚--------------------╝
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录
%:代表任意长的一段字符 _ :代表一个字符 [a,b,c,d]:a、b、c、d中的任意一个 [^a,b,c,d]:不在a、b、c、d中的任意一个
⑧ sql语句代码
问题1
select kh.*,sp.* from xsdd dd ,xsddmx sp,kcls ck,yslsz kh where dd.客户编码=kh.客户编码
and ck.商品编号=sp.商品编号
and ck.出库单号 not in kh.出库单号
问题2
select sum(ck.出库金额) as 出库总金额, kh.客户名称 from xsdd dd ,xsddmx sp,kcls ck,yslsz kh where dd.客户编码=kh.客户编码
and ck.商品编号=sp.商品编号
and ck.出库单号 = kh.出库单号 group by kh.客户名称