SQL语句集锦
--语 句 功 能
--数据 *** 作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE这个好象不可以吧
如果没有 databasename 的话 JDBC就不知道要连到哪个目的地
跟ODBC一样 没有数据源是不可以的
或者你换一个数据库 用 oracle 应该可以吧
oracle不需要建数据库 直接建一个表空间 然后建表就行了
--描述准备好的查询
sql查询语句的格式,都是通用的,比如mysql和oracle,都是类似,例子如下:
SQL是3个表的查询,会给出表以及3个表之间的约束关系
Student 表
No编号
Name 姓名
Birthday 生日
bj 班级
jg 籍贯
adds地址
number电话
Course 表
Kcbh课程编号
kcmc课程名称
Source 表
Cjguid (主键)
No 编号
kcbh 课程编号
cj成绩
/
-- (1)查询学生籍贯为‘湖北’生日为1995-10-3的所有信息
select
from Student
where 1=1
and jg = '湖北' -- 籍贯为‘湖北’
and Birthday = '1995-10-3' -- 生日为1995-10-3
-- (2)查询学生姓名为‘王华’的各课程的平均分,最高分,最低分,总分。
select
avg(kcbh) as 平均分,
max(kcbh) as 最高分,
min(kcbh) as 最低分,
sum(kcbh) as 总分
from Source
where 1=1
and exists (select 1
from Student
where 1=1
and StudentNo = SourceNo
Name = '王华' -- 姓名为‘王华’
)
-- (3)没有太看题,大致是要求查询4,5列以上的信息,其中3个表各包含一些信息
select
StudentName as 学生,
Coursekcmc as 课程,
Sourcecj as 成绩
from Student,
Course,
Source,
where 1=1
and StudentNo = SourceNo
and CourseKcbh = Sourcekcbh
说实话,不是看着这80分,我还真不敢随便回答你,因为看得出,你对数据库的了解,,,,真的还,,,,,
1首先你得知道表名、字段,比如人物级别,你得知道它的字段是什么,一般不会用中文,可能的是 lv,弄清楚人物级别和标识的字段名字后,我们可以开始查询了
2现在假设人物级别字段为lv,标识为 index,假设表名为 table
1-25级(包括1级,包括25级)人物标识为0001的语句:
select from table where lv>=1 and lv<=25 and index='0001'
标识为0002的,而且级别是25-60(包括25,包括60)的语句:
select from table where lv>=25 and lv<=60 and index='0002'
这样根据各个运行结果的条数,就可以看出对应人物有多少个
也可以这样写:
select count() from table where lv>=1 and lv<=25 and index='0001'
select count() from table where lv>=25 and lv<=60 and index='0002'
这样可以各只出现一条,看对应数字就可以了。
或者你需要2个在一条中看出来按以下写;
select sum(case when lv>=1 and lv<=25 and index='0001' then 1 else 0 end) 标识0001的25级以下的,sum(case when lv>=25 and lv<=60 and index='0002' then 1 else 0 end) 标识0002的25以上的 from table
以上语句,如果你 需要不包括,只需要把级别对应前面的等号去掉就OK了
OK,搞定,给分啦,好辛苦。嘿嘿
补充一下,你的数据库名,表名,字段名,这是任何人都猜不到的,因为是写程序的人自定义的,谁知道那天杀的怎么想。你可以去对应服务器的企业管理器里找,,,就可以找到了,当然最直接的是问程序开发者,或者看代码(估计你也看不出来,,,汗一个)
数据库中,关系模型中的主键是对每条数据记录的唯一标识,不可重复。主键可以是属性集,比如一张表R(A,B,C,D),主键为A+B是可以的。
主键,即主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。
一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
扩展资料:
建立主键应该遵循的原则:
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、 永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。
参考资料来源:百度百科-主关键字
属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型、字符串型。如:学生(实体)有学号、姓名、年龄、性别等属性,相应值域为字符、字符串、整数和字符串型。
字段(field):标记实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。字段的命名往往和属性相同,如:学生有学号、姓名、年龄、性别等字段。
--数据 *** 作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
---局部变量
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'
---全局变量
---必须以@@开头
ACCESS常用数字类型的说明和取值范围:
Byte(字节) 介于 0 到 255 之间的整型数。
Integer(整型) 介于 –32,768 到 32,767 的短整型数。
Long(长整型) 介于 –2,147,483,648 到 2,147,483,647 的长整型数。
Currency(货币) 介于-922,337,203,685,4775808 到 922,337,203,685,4775807。
Single(单精度型) 单精度浮点数。范围在负数的时候是从 -3402823E38 到 -1401298E-45,
而在正数的时候是从 1401298E-45 到 3402823E38。
Double(双精度型) 双精度浮点数。范围在负数的时候是从 -179769313486231E308 到
-494065645841247E-324,而正数是从 494065645841247E-324到
179769313486232E308
Decimal(小数) 精确的数字数据类型。
变量存储为 96 位(12 个字节)带符号的整型形式,并除以一个 10 的幂数。
这个变比因子决定了小数点右面的数字位数,其范围从 0 到 28。
:
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。
Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2012年12月4日,最新的微软Office Access 2016在微软Office 2016里发布,微软Office Access 2013 是前一个版本。
MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。
以上就是关于创建数据库和表全部的内容,包括:创建数据库和表、sql如何查询语句的格式怎么写、关于SQL数据库查询指令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)