Ⅰ 谁学过(自 学 网)的sql 可以把视频和教学文件给我吗,谢谢
等我编写好了sql教程,我就发你一套
Ⅱ sql server2014已经装好了,要怎么开始操作小白求教。
1、安装好一般需要启动服务
2、然后找到 sql server 2014 manament studio 登录
3、一般选择windowNT登录,这是安装时默认的安装方式
4 、登录就就可以操作数据库了
Ⅲ 简单明了,大学生都应该知道的SQL
SQL(结构化查询语言)是用于访问和操作数据库中的数据的标准数据库编程语言。
SQL是关系数据库系统的标准语言。所有关系数据库管理系统(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作为它们的标准数据库语言。
为了处理数据库和数据库相关的编程,程序员需要有一些介质,或者可以说接口来详细说明一组命令或代码来处理数据库或访问数据库的数据。在本章中,将简要介绍在学习SQL的过程中您将学习的术语。
SQL为结构化查询语言提供了独特的学习和数据库处理技术,并将帮助您更好地控制SQL查询并有效处理这些代码。由于SQL帮助您包括数据库创建,数据库或表删除,获取行数据和修改这些数据等,并行SQL使得事情自动和平滑,最终用户可以轻松访问和处理该应用程序的数据。
虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。
然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
要创建一个显示数据库中数据的网站,您需要:
RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表的数据库对象中。
表是相关的数据项的集合,它由列和行组成。
代码示例:
每个表都被分解成称为字段的更小的实体。Customers表中的字段由CustomerID,CustomerName,ContactName,Address,City,PostalCode和Country组成。字段是表中的一列,用于维护表中每条记录的特定信息。
记录(也称为行)是表中存在的每个单独条目。例如,在上面的Customers表中有91条记录。记录是表中的横向实体。
列是表中的垂直实体,其包含与表中的特定字段相关联的所有信息。
当您对任何RDBMS执行SQL命令时,系统将确定执行请求的最佳方式,并由SQL引擎确定如何解释该任务。
在此过程中包含了各种组件。
典型的查询引擎处理所有非SQL查询,但SQL查询引擎不会处理逻辑文件。
与关系数据库交互的标准SQL命令是创建、选择、插入、更新、删除和删除,简单分为以下几组:
数据定义语言用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:
数据操纵语言用于检索、插入和修改数据,数据操纵语言是最常见的SQL命令。
数据操纵语言命令包括:
数据控制语言为用户提供权限控制命令。
用于权限控制的命令有:
使用SQL格式化工具可以比较直观地看到您想要的操作
Ⅳ SQL语句能用在ACCESS上吗
Access+SQL语句
在Access数据库中建表
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:zjw","","");
String tablename = "xl_"+jgname;
String sql_create = "CREATE TABLE " +tablename+" (id VARCHAR(20) PRIMARY KEY, 开关 VARCHAR(20),正母闸刀 VARCHAR(20),副母闸刀 VARCHAR(20), 线路闸刀 VARCHAR(20),开关母线侧地刀 VARCHAR(20),开关线路侧地刀 VARCHAR(20),线路侧地刀 VARCHAR(20),母差投退 VARCHAR(20),母差复归 VARCHAR(20) )";
String sql_insert_1 = " INSERT INTO " +tablename+" values ('1','开关','正母闸刀','副母闸刀','线路闸刀','开关母线侧地刀','开关线路侧地刀','线路侧地刀','母差投退','母差复归')";
String sql_insert_2 = " INSERT INTO " +tablename+" values ('2','0','0','0','0','0','0','0','0','0')";
String sql_insert_3 = " INSERT INTO " +tablename+" values ('3',?, ? ,? , ? ,? ,? ,?,?,?)";
String sql_insert_4= " INSERT INTO " +tablename+" values ('4','162','104','212','156','255','212','104','525','65')";
String sql_insert_5 = " INSERT INTO " +tablename+" values ('5','137','220','220','83','220','132','82','533','264')";
PreparedStatement create_pstmt=con.prepareStatement(sql_create);
create_pstmt.executeUpdate();
create_pstmt.close();
在Access数据库中重命名表
来源:中国大学生网 时间:2005-10-16 18:53:18 责任编辑:雨 【字体:大 小】
下面代码是用Adox重命名Access表名的示例代码:
Dim Conn,ConnStr,oCat,oTbl
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set oCat=Server.CreateObject("ADOX.Catalog")
oCat.ActiveConnection = ConnStr
Set oTbl = Server.CreateObject("ADOX.Table")
Set oTbl = oCat.Tables("OldTable") '要重命名的表名:OldTable
oTbl.Name = "NewTable" '新表名
Set oCat = Nothing
Set oTbl = Nothing
Sql server 中可以用Sql语句直接重命名表,
下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助。
内容由海娃整理,不正确与不完整之处还请提出,谢谢。
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表名]
插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')
删除数据:
DELETE FROM [表名] WHERE [字段名]>100
更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'
新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL
删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]
修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL
重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename '表名', '新表名', 'OBJECT'
新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2000-1-1')
删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名
新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名]
删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名
删除Sql Server 中的日志,减小数据库文件大小
mp transaction 数据库名 with no_log
backup log 数据库名 with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption '数据库名', 'autoshrink', 'true'
下面是2种语言的区别!
SQL和ACCESS基本都相同,可以直接导入导出,如果是程序访问的话,sql语句有些不同,需要改动一下。
1、对于日期字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:'1981-02-12'
2、SQL语句区别
select、update 在对单表操作时都差不多,但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:
SQLSERVER中更新多表的Update语句:Update Tab1 SET a.Name = b.Name FROM Tab1 a,Tab2 b Where a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是:Update Tab1 a,Tab2 b SET a.Name = b.Name Where a.ID = b.ID;
即ACCESS中的Update语句没有FROM子句,所有引用的表都列在Update关键字后。更新单表时都为:Update table1 set ab='ss',cd=111 where ....
3、delete语句
access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。
sqlserve 中则为:delete from table1 where a>2 即没有*号
4、as 后面的计算字段区别
access中可以这样:select a,sum(num) as s_num,s_num*num as all_s_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:select a,sum(num) as s_num,sum(num)*num as all_s_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5、[.]与[!]的区别
access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6、联合查询时
access中多表联合查询:'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中则'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b
即要加一个虚的表tmptable,表名任意。
7、access升级到sqlserver时
可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar。把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)
8、true与1=1
access用where true表示条件为真。
sqlserver用where 1=1表示条件为真。
9、判断字段值为空的区别
普通空:Access和sql server一样 where code is null 或 where code is nol null
条件空:Access:if([num] is null,0,[num]) 或 if([num] is null,[num1],[num])
SQLServer: isnull([num],0) 或 isnull([num],[num1])
10、SQL语句取子串的区别
access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
如:select left(cs1,4)+'-'+cs2 as cs3
SQLServer:SUBSTRING(e-xpression, start, length)
如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3
11、布尔类型的区别
access:用“是/否”表示
SQLServer:用“bit”表示
Ⅳ 请用SQL命令创建上面的三张表. 并完成下面的操作
Create table T_course (
Course_id nvarchar(10),
Speciality_id nvarchar(10),
Course_Name nvarchar(20),
Mark int
)
Create table T_speciality(
Speciality_id nvarchar(10),
Speciality_Name nvarchar(20)
)
Create table T_enroll(
Id nvarchar(10),
Speciality_id nvarchar(10),
Name nvarchar(20)
)
(1) insert into T_course values ('004','001','关系数据库',3)
(2) select Course_Name from T_course a
join T_speciality b
on a.Speciality_id =b.Speciality_id
where b.Speciality_Name='软件技术'
(3) select Name from T_enroll c
join T_speciality b
on c.Speciality_id =b.Speciality_id
where b.Speciality_Name='软件技术'
(4) select Name from T_enroll c
join T_course a
on a.Speciality_id =c.Speciality_id
where a.Course_Name='关系数据库'
Ⅵ 有推荐的SQL进阶书籍或者网站吗(sql数据库入门书籍推荐)
前段时间开始自学数据库,学了一段时间下来,看了好几本书了,品味一下,有几本感觉对刚接触数据库(甚至是数据库高手)的兄弟们来说是相当不虚粗错的所以向大家推荐一下:
一:《数据库设计与开发》
英文名:databasedesignanddevelopment---avisualapproach
清华大学出版社
一本很实用的书籍,图文并茂,讲解生动,让你在不知不觉中已经对数据库的设计产生了兴趣,看完本书后,也许你会感叹,原来数据库设计还是挺简单的哦
二:《SQLServer数据库设计与系统开发教程》
清华大学出版社唐红亮主编
这本书虽说没什么牛逼的头衔,但是绝对是一本不错的教材,全书用两个实际的项目来诠释SQL的各个知识点,语言通俗,但基本知识点都讲得很清楚。作者娓差贺镇娓道来,一点点的将知识深入进去。很不错的一种写法,强烈推荐你看这本书
三:《SQL语言与数据库操作技术大全》
电子工业出版社马军李玉林等编着
这本书我建议大家做SQL语言的字典用,比如要查询、更改、删除数据了,却突然忘了某个子句(如Having子句)的具体用法,这里面会很准确的告诉你。当然,对于专门学习SQL语言的来说,我觉得这本书也是相当不错的选择
四:《SQLServer2005数据库管理入门经典》
清华大学出版社DanWoodChrisLeiterPaulTurley着马振晗等译
对MSSQLServer2005里面的各种工具、组件的功能做了介绍,本书主要适合管理人员看
说明:虽然我也是一名数据库新手,但我拍大希望能通过这样一种方式来帮州我能帮助的人,让他们在学习的初期就不走弯路,给他们一点实实在在的建议。以后我发现的好书我还会持续的发上来,供大家参考。