SQL常用的增删改查语句、视屏笔记
SQL_Server教程

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。
EntityFramework快速入门笔记—增删改查

EntityFramework快速入门笔记—增删改查第一步:创建一个控制台应用程序,起名为EFDemo2. 第二步:创建一个实体模型(1)在EFDemo项目上面右击选择添加—新建项—在已安装的选项中选择数据—实体对象模型,如图所示:3. 与数据库进行连接(1) 单击第二步建立的实体数据模型的添加按钮,然后我们选择从数据库生成,如图所示:(2) 单击下一步,然后如果我们以前没有操作的话在这里将是为空的,然后我们单击新建连接,建立一个数据库的链接,然后选择“是,在连接字符串中包含敏感数据”,如图所示:(3) 单击下一步,选择我们要生成实体框架对应的表,试图或者存储过程和函数,因为这里我只使用到了表,所以选择表的选项就行了,如图所示:(4) 单击完成,这数据库自动帮我们生成了实体对象和实体类,然后可以看到我的解决方案EFDemo下面生成的东西和VS2010不相同,当然大致的使用还是没有变化的,只是有一些细节变了4. 第四步,EF的第一个使用-增加(1) 添加如下代码:(2) 数据库中添加了一条数据,如图所示:(3) 然后我们可以打开SQL Server2012数据库,单击工具—>SQL Server Profiler,打开工具,然后我们运行代码,跟踪可以看一下给我们生成的代码是什么,如图所示:(4) 还可以使用初始化器来实现数据的添加信息,效果和上面的一摸一样,代码如图所示:5. 第五步,EF的第一个使用-修改(1) 添加如下代码,如图所示(2) 数据库中修改语句如图所示(3) 在SQL Server Profiler中查看生成的SQL语句,如图所示:6. 第五步,EF的第一个使用-删除(1) 添加如下代码,如图所示(2) 数据库中修改语句如图所示(3) 在SQL Server Profiler中查看生成的SQL语句,如图所示:7. 第五步,EF的第一个使用-查询(1) 实现查询的第一种方法 foreach循环1)实现代码如图所示:2)结果就不用展示了,在我这里已经实现了3)查看SQL Server Profiler中生成的SQL语句,如图所示:(2) 实现查询的第二种方法 Linq和List集合1)实现代码如图所示:2)查看SQL Server Profiler中生成的SQL语句,如图所示:(3) 实现查询的第三种方法 Linq1) 实现代码如图所示:2)查看SQL Server Profiler中生成的SQL语句和上面的第二个区块中的执行语句一样,这里就不累赘了。
黑马程序员android开发笔记及源码

01、什么是3G02、android系统简介03、android背景介绍04、android的framewor简介05、两种虚拟机的比较06、sdk的下载以及简介07、创建android模拟器08、ddms简介09、platform-tools的简介及常见adb指令10、android项目的目录结构11、android下apk安装的过程12、常见的adb指令介绍13、创建模拟器遇到的常见错误14、电话拨号器15、点击事件的四种写法16、短信发送器17、相对布局&单位介绍18、现形布局&布局的组合19、表格布局&绝对布局20、帧布局21、测试相关概念22、android下junit测试框架配置23、logcat简介24、保存文件到手机内存25、android下文件访问的权限26、保存文件到SD卡中27、分析setting源代码获取SD卡大小28、_sharePreference入门29、xml文件的序列化30、采用pull解析xml文件31、采用断电调试的方法观察pull解析的的流程32、android下创建一个sqllite数据库33、sql语句实现数据库的增删改查34、系统api实现数据库的增删改查&Sqlite3工具的使用35、数据库的事物36、listView入门37、采用layoutInflater打气筒创建一个view对象38、采用数据适配器ArryAdapter39、常用数据适配器simpleAdapter40、数据适配器总结41、内容提供者简介42、内容提供者的实现43、短信的备份44、插入一条记录到系统短信应用45、内容观察者46、获取系统的联系人信息47、保存联系人到系统通讯录48、读取联系人的一个小细节49、网络图片查看器50、anr产生的原理&如何避免51、android消息机制入门52、网络html查看器53、字符乱码问题的处理54、采用get方式提交数据到服务器55、采用post方式提交数据到服务器56、提交数据到服务器中文乱码问题的处理57、采用httpclient提交数据到服务器58、异步http框架简介&实现原理59、异步http框架提交数据到服务器60、上传文件到服务器61、smartimageview&常见开源代码62、多线程下载的原理63、多线程断点下载的原理64、多线程java代码移植到android65、多线程下载文本页面的更新66、显示意图激活另一个activity67、隐式意图激活另一个activity68、隐式意图的配置69、隐式意图和显示意图的使用场景70、在不同activity之间数据传递71、activity的声明周期72、activity的启动模式73、activity横竖屏切换的声明周期74、开启新的activity获取他的返回值75、请求码和结果码的作用76、利用广播实现ip拨号77、短信窃听器78、自定义广播时间&发送自定义广播&广播接受者优先级79、采用服务执行长期后台操作80、采用服务窃听电话&服务的声明周期81、android进程优先级&为什么使用服务82、绑定方式开启服务&调用服务的方法83、服务的声明周期(混合开启84、采用aidl绑定远程服务85、代码注册广播接受者&利用广播调用服务的办法86、加载大图片到内存87、获取图片exif信息88、从gallery获取图片89、图片画画板90、扒开美女衣服91、图片的缩放92、图片的旋转93、图片的平移&镜面&倒影效果94、图片的合成95、图片的颜色处理96、多媒体播放api简介97、人脸识别98、mediaplayer的生命周期99、soundpoo简介100、sufaceview的生命周期101、播放在线视频102、视频播放器进度的处理103、调用系统照相机拍照和录像104、采用camera拍照105、常见对话框106、notification入门107、菜单108、android下的样式109、android下的主题110、代码编写ui111、html创建ui112、帧动画113、代码创建创建的tween动画114、xml文件定义动画115、传感器简介116、117、杀死进程118、apk的安装119、应用程序的反编译120、动态创建fragment121、用fragment创建一个选项卡122、fragment的向下兼容性123、fragment的生命周期124、fragment之间的通讯125、应用程序国际化04、android的framewor简介Wap:wait and playWireless Makeup Language(WML)精简的html语言Applications:android自带的基本上层应用Aplication framework:应用程序框架Librarics:Linux lernel:05、两种虚拟机的比较编译后文件格式:jvm:.java->.class->.jardalvik vm:.java->.dex->.odex基于的架构:jvm:基于栈的架构dalvik vm:基于寄存器的架构Cpu直接访问寄存器因此dalvik虚拟机的效率比jvm高06、sdk的下载以及简介->获取sdk工具包(sdk:standard develope kits)->ADT(android develop tools,实际上是eclipse的插件)SDK具体内容Android->SDK Plateform:开发时使用到的jar包->Samples for sdk:->ARM EABI V7a System Image:模拟器运行时的镜像->Intel n86 Aton System:模拟器运行时的镜像->MIPS System Image:模拟器运行时的镜像->google APIs:google提供的jar包,可以直接使用google提供的一些API ->source for android SDK:SDK全部的源代码Extrals:->tools:开发的工具->support library:实现高版本的android向下的兼容->google Admed Ads SDK:gongle提供的广告插件->Analyties App Irackiong SDK:应用的用户分析->cloud message:云消息->gongle play service:收费服务->google USB Driver:真实的设备驱动开发时:基于4.0,兼容2.2、2.3.307、创建android模拟器avd:android virture developerVGA:480*640(电视的标准分辨率)QVGA:240*320(四分之一)HVGA:320*480(一半)WVGA:480*800(width)FWVGA:480*854(更宽)08、ddms简介ddms:模拟器不支持中文,因此发送中文会显示不出来09、platform-tools的简介及常见adb指令Android调试桥:内部实现就是socket让两个系统之间实现数据交互->reset adb:模拟器找不到时候可以重启->adb device:列出所有的连接的设备->adb kill-server:杀死adb调试桥->adb start-server 启动adb调试桥dx.bat:将.class文件打包10、android项目的目录结构一:SDK的目录结构->Samples->Api demo:根据API demo(模拟器上面可以看见)的效果可以在sample中看见相应的代码->Source:jar包所有的sdk源代码都在这个文件夹里->SystemImage:系统镜像->temp:下载更新临时存储的文件夹,一般是空的->tools:emulater.ext 不同版本的模拟器二:New Android Application->theme:留给以后作为扩展,现在并没有太大的作用->target SDK:一般选择高版本,因为高版本对下兼容->mark project as a library:一般不选择,意思是将这个项目提供一个jar包供别人使用三:文件夹目录.setting:设置目录assets:资产目录,存放一些文件,这些文件会被原封不动打包到应用程序的apk中bin:gen:自动生成的目录->builderConfig.java:生成的配置信息->R.java:Android 4.1.2->android.jar开发环境,jar包可以在properties中修改,jar包就是SDK011、Android下apk的安装过程一、Android安装过程分析:->setContentView:甚至view的对象,把里面的xml文件加载到->在project中选择build automaticly会自动把文件生成字节码文件,.class $代表的class文件生成的是内部类->dex.bat文件会把.class文件生成.dex文件->apk压缩文件解压内部内容->META-INF:应用程序的签名eclipse的调试签名文件->res:资源文件->classes.dex:class文件->resources.arsc:资源ID映射->android软件安装的过程:->拷贝xxx.apk带/data/app/xxx-1.apk->在/data/data目录下创建一个文件夹,文件夹名称当前应用程序的报名012、常见adb指令前提:->设备连接上电脑而且驱动安装正常,如果安装不正常的话,会有黄色的问号显示;->设备上打开USB调试;指令:->adb device(如果启动发现这个程序没有安装会自动安装)->adb kill-server->adb start-server->adb uninstall <包名>->adb -s emulator-5554 install c:\\users\\administrator\\hello.apk如果有多个设备的话,如果不指定安装的是哪个设备程序会报错->adb push haha.prop /sdcard/haha.txt 将文件移到(360管家,豌豆荚之类的软件他们也是用的adb指令,倘若电脑上装这些软件的话,会因为两个adb指令抢端口号而挂掉)(adb版本之间兼容不是很好,经常报错可以考虑下版本的问题)->adb shell:远程连接到了android的linux终端ls:显示文件夹ps:显示正在运行的程序ping:网络连通性013、创建模拟器遇到的常见错误->路径最好不要有中文:->应用安装不上,或者安装模拟器的时候开启一个新的模拟器:可能是模拟器的资源被占用,模拟器在运行的时候其实占用着硬盘上面的一个文件,这个文件位于工作空间.android/avd/iphone.avd 里面会有镜像文件,当一个模拟器开启起来了,就给你创建一个文件夹.knock的文件夹,代表着这个模拟器被锁定了,如果把模拟器关掉,就没有程序占据这几个镜像资源了,那么这几个程序就会被自动删除。
数据库命令语句

数据库命令语句
1. CREATE DATABASE - 创建新数据库
2. CREATE TABLE - 创建新表
3. SELECT - 从表中选取数据
4. INSERT INTO - 向表中插入新数据
5. UPDATE - 更新表中数据
6. DELETE - 从表中删除数据
7. ALTER TABLE - 修改表的结构
8. DROP TABLE - 删除表
9. INDEX - 创建索引
10. JOIN - 在多个表之间进行关联
11. GROUP BY - 按照指定的列进行分组
12. ORDER BY - 对结果集按照指定列进行排序
13. UNION - 把两个或多个SELECT 语句的结果合并起来
14. TRUNCATE TABLE - 删除表中的所有数据,但不删除表定义
15. COMMIT - 事务提交
16. ROLLBACK - 事务回滚
17. GRANT - 赋予用户访问权限
18. REVOKE - 撤销用户访问权限
19. CREATE VIEW - 创建视图
20. ALTER VIEW - 修改视图。
SQL四条最基本的数据操作语句:Insert,Select,Update和Delete详解

掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
练掌握SQL是数据库用户的宝贵财富。
在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。
当你完成这些学习后,显然你已经开始算是精通SQL了。
在我们开始之前,先使用CREATE TABLE语句来创建一个表(如图1所示)。
DDL 语句对数据库对象如表、列和视进行定义。
它们并不对表中的行进行处理,这是因为DDL 语句并不处理数据库中实际的数据。
这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。
由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。
在图1中我们给出了一个名为EMPLOYEES的表。
其中的每一行对应一个特定的雇员记录。
请熟悉这张表,我们在后面的例子中将要用到它。
INSERT语句用户可以用INSERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES V ALUES('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。
我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。
如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。
经典SQL语句大全(超全)

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键: Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 [desc]总数:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。
AndroidSQL语句实现数据库的增删改查
AndroidSQL语句实现数据库的增删改查本⽂介绍android中的数据库的增删改查复习sql语法:* 增insert into info (name,phone) values ('wuyudong','111')* 删delete from person where name = 'wuyudong'* 改update person set number='119' where name='wuyudong'* 查select * from personselect * from person where name='wuyudong'数据库⽂件是在 /data/data/包名/databases/xxx.db下⾯使⽤代码完成相关的操作⾸先定义⼀个Person类package com.wuyudong.db.domain;public class Person {private int id;private String name;private String number;public Person() {}public Person(int id, String name, String number) {this.id = id; = name;this.number = number;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}}接着实现相关操作的代码:package com.wuyudong.db.dao;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.wuyudong.db.PersonSQLiteOpenHelper;import com.wuyudong.db.domain.Person;public class PersonDao {private PersonSQLiteOpenHelper helper;public PersonDao(Context context) {helper = new PersonSQLiteOpenHelper(context);}/*** 添加⼀条记录到数据库** @param name* 姓名* @param number* 电话*/public void add(String name, String number) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("insert into person (name,number) values (?,?)",new Object[] { name, number });db.close();}/*** 查询记录是否存在** @param name* 姓名 return true存在, false不存在*/public boolean find(String name) {SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from person where name=?",new String[] { name });boolean result = cursor.moveToNext();cursor.close();db.close();return result;}/**** @param name* 要修改的⼈的姓名* @param newnumber* 新的号码*/public void update(String name, String newnumber) {SQLiteDatabase db = helper.getReadableDatabase();db.execSQL("update person set number=? where name=?", new Object[]{newnumber,name}); db.close();}/*** 删除⼀条记录* @param name*/public void delete(String name) {SQLiteDatabase db = helper.getReadableDatabase();db.execSQL("delete from person where name=?", new Object[]{name});db.close();}/*** 返回全部的数据库信息* @return*/public List<Person> findAll() {List<Person> persons = new ArrayList<Person>();SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from person", null);while(cursor.moveToNext()){int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnIndex("name"));String number = cursor.getString(cursor.getColumnIndex("number"));Person person = new Person(id, name, number);persons.add(person);}cursor.close();db.close();return persons;}}完整的测试代码如下:package com.wuyudong.db.test;import java.util.List;import com.wuyudong.db.PersonSQLiteOpenHelper;import com.wuyudong.db.dao.PersonDao;import com.wuyudong.db.domain.Person;import android.database.sqlite.SQLiteDatabase;import android.test.AndroidTestCase;public class TestPersonDB extends AndroidTestCase {public void testCreateDB() throws Exception {PersonSQLiteOpenHelper helper = new PersonSQLiteOpenHelper(getContext()); SQLiteDatabase db = helper.getWritableDatabase();}public void testAdd() throws Exception {PersonDao dao = new PersonDao(getContext());dao.add("wuyudong", "666");}public void testFind() throws Exception {PersonDao dao = new PersonDao(getContext());boolean result = dao.find("zhangsan");assertEquals(true, result);}public void testUpdate() throws Exception {PersonDao dao = new PersonDao(getContext());dao.update("zhangsan", "655");}public void testDelete() throws Exception {PersonDao dao = new PersonDao(getContext());dao.delete("zhangsan");}public void testFindall() throws Exception {PersonDao dao = new PersonDao(getContext());List<Person> persons = dao.findAll();for (Person person : persons) {System.out.println(person.toString());}}}。
VF中常用SQL命令使用方法
VF中常用SQL命令使用方法SQL(结构化查询语言)是关系型数据库管理系统中最常用的查询语言。
在VF中,使用SQL命令可以对数据库进行增删改查等操作。
以下是VF中常用的SQL命令使用方法:1.创建表格(CREATETABLE):用于创建数据库中的表格。
语法如下:```sqlCREATE TABLE table_namecolumn1 data_type,column2 data_type,...```例如:```sqlCREATE TABLE customersid INT PRIMARY KEY,name VARCHAR(50),age INT,email VARCHAR(100)```2.插入数据(INSERTINTO):用于向表格中插入新的数据。
语法如下:```sqlINSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);```例如:```sqlINSERT INTO customers (id, name, age, email)```3.更新数据(UPDATE):用于更新表格中的数据。
语法如下:```sqlUPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;```例如:```sqlUPDATE customersSET age = 26WHERE id = 1;```4.删除数据(DELETEFROM):用于从表格中删除数据。
语法如下:```sqlDELETE FROM table_name WHERE condition;```例如:```sqlDELETE FROM customers WHERE id = 1;```5.查询数据(SELECT):用于从表格中查询数据。
语法如下:```sqlSELECT column1, column2, ...FROM table_nameWHERE condition;```例如:```sqlSELECT * FROM customers WHERE age > 25;```6.排序数据(ORDERBY):用于按照指定列对查询结果进行排序。
SQL四种基本数据操作语句
掌握SQL四条最基本的数据操作语句:Insert,Select,Update和Delete。
练掌握SQL是数据库用户的宝贵财富。
在本文中,我们将引导你掌握四条最基本的数据操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。
当你完成这些学习后,显然你已经开始算是精通SQL了。
在我们开始之前,先使用CREATE TABLE语句来创建一个表(如图1所示)。
DDL语句对数据库对象如表、列和视进行定义。
它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。
这些工作由另一类SQL语句—数据操作语言(DML)语句进行处理。
SQL中有四种基本的DML操作:INSERT,SELECT,UPDA TE和DELETE。
由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。
在图1中我们给出了一个名为EMPLOYEES的表。
其中的每一行对应一个特定的雇员记录。
请熟悉这张表,我们在后面的例子中将要用到它。
INSERT语句用户可以用INSERT语句将一行记录插入到指定的一个表中。
例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES V ALUES('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。
这些列按照我们创建表时定义的顺序排列。
在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。
我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。
如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。
如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。
access数据库开发典型范例
access数据库开发典型范例篇一:sql经典案例hai6606_cn | 四级精妙Sql语句(总结以前的所有精华)asc 按升序排列desc 按降序排列下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2type2 [not null],..) 根据已有的表(转载于: 池锝范文网:access数据库开发典型范例)创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_olddefinition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add column col type注:列增加后将不能删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL:结构化查询语言,是国际化标准组织采纳的标准数据库语言作用:数据库管理员可以用利用次语言操作数据库系统,即:SQL是一种能够被数据库系统读懂的操作语言。
T—SQL是微软公司针对SQL Server这种关系数据库所定义的一种SQL语言,用户可以完成Server数据库中的所有操作。
SQL的分类:(1):数据定义语言,DDL用来创建数据库和数据库中的各种对象数据库中的对象包括:表、视图、索引、存储过程、触发器DDL常用的命令包括:create、alter、drop(2):数据操纵语言,DML可以完成对数据库中数据的查询、更新、删除、插入的功能DML常用的命令包括:select、update、delete、insert(3)数据控制语言,DCLDCL常用的命令包括:grant、revoke、deny(4)数据类型1、数字数据类型a、整型数据类型:bigint、int、smallint、tinyintb、浮点数据类型:float、realc、固定精度数据类型:decimal、numericd、货币数据类型:money、smallmoney将数据格式转换成字符串方法:STR(ID);---ID为数据类型,STR(ID)为字符串2、字符数据类型:varchar、char、text、nchar、nvarchar、ntext区别char和varchar数据类型:char数据类型是存放固定长度的字符Varchar数据类型是存放动态长度的字符char(14),实际放入到数据库的字符长度为14个字符,如果实际存储的长度小于定义的长度,那么数据库会在次字符串后面加上3个空格1、insert语句:insert语句是属于SQL语言中的DML作用:为表插入数据你向一个表中插入一条新记录,但有一个字段没有提供数据。
在这种情况下,有下面的四种可能:1、如果该字段有一个缺省值(默认值),该值会被使用。
2、如果该字段可以接受空值,而且没有缺省值,则会被插入空值。
3、如果该字段不能接受空值,而且没有缺省值,就会出现错误。
你会收到错误信息:The column in table mytable may not be null.4、如果该字段是一个标识字段,那么它会自动产生一个新值。
当你向一个有标识字段的表中插入新记录时,只要忽略该字段,标识字段会给自己赋一个新值。
使用INSERT语句可向文本型字段中插入数据。
但是,如果你需要输入很长的字符串,你应该使用WRITETEXT语句。
语法:insert into 表名(列名1,列名2,…..) values(值1,值2,….)注意:(列名1,列名2,…..)可以不写,这样的话,插入的values(值1,值2,….)中的值必须包含表中的所有列,不然会报错。
把INSERT 语句与SELECT 语句结合起来,可以添加多个记录。
像这样:代码:INSERT mytable (first_column,second_column)SELECT another_first,another_secondFROM anothertable WHERE another_first=’Copy Me!’这个语句从anothertable拷贝记录到mytable.只有表anothertable中字段another_first的值为’Copy Me!’的记录才被拷贝。
2、update语句它也是属于SQL语句中的DML, 可以修改表的数据,使用WHERE子句来选择更新特定的记录。
需要更新很长的字符串,应使用UPDATETEXT语句。
如果你不提供WHERE子句,表中的所有记录都将被更新。
语法:update 表名 set 列名1=值1,列名2=值2,……..[where 条件….] update student set sage=20 where sno=’s014’----修改一列update student set sage=20,set ssex=’女’ where sno=’s014’----修改多列逗号隔开3、delete语句也是属于SQL语句中的DML作用:可删除表中的一行或多行,在SQL SELECT 语句中可以使用的任何条件都可以在DELECT 语句的WHERE子句中使用。
删除应该表中的所有记录,应使用TRUNCATE TABLE语句。
语法:delete from 表名[where 条件….]delete from student----删除表student中所有数据delete from student where sno = ‘s014’----删除表student中编号是014的一行delete from student where sno >= ‘s013’--删除表student中编号大于等于013的行4、建立索引Create INDEX index_name ON table_name (column_name)说明:对某个表格建立索引后,数据库会对相应列进行自然排序,以增加查询时的速度。
4、基本查询技术:数据库中提供一种可以将表中的数据查询出来的技术,称为select查询select查询技术的基本语法格式select [列名1,列名2,…..] | from 表名1,表名2[where 条件][group by分组的列名][having聚合函数比较操作][order by 排序的列名](1)查询语句中的“*”号代表将表中的列全部显示出来select * from student(2)如果只想在查询中显示某一列用:select sno sname sage from student注意:“*”和列名只能够二选一,不能够同时出现(3)在查询的时候可以为表或者列定义别名A:为列定义别名select sno as 学号 ,sname as 姓名 from student或:select ‘学号’=sno, ‘姓名’=sname from studentB:为表定义别名select sno sname sage ssex from student a好处:当出现多张表联系起来作查询的时候,如果多张表中含有相同的列名的时候,为表定义别名使得查询比较方便例如:想查询课程是由哪些老师就是讲授的。
从课程course表和老师teacher表中查找车tno列相同的数据select cname, tname, from course a , teacher bwhere a.tno = b.tno(4)distinct关键字此关键字是为了去掉列中重复的值, 对于所有重复的数据行在SELECT返回的结果集合中只保留一行。
select distinct sno from sc(5)order by排序(默认升序)语法:order by 列名[desc | asc]desc:代表降序排列asc 代表升序排列select *from student order by sname如果不写排序关键字,默认的是升序select *from student order by sname desc(6)where关键字使用Where作为查询筛选结果的一个过程(非常重要)语法:where 条件1[or | and] [条件2]…条件1可以包括以下内容:Where 列名1 <expression> 列名2 | 数值(7)top n限制返回的行数使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。
例如:代码:SELECT TOP 2 * FROM `testtable`代码:SELECT TOP 20 PERCENT * FROM `testtable`条件表达式分类:1、比较条件:(>:大于 <:小于 >=:大于等于 =<:小于等于 <>:不等于 =:登于)例如:找学生年龄大于23岁的同学信息select *from student where sage>232、逻辑条件(and:与运算 or:或运算 not:非)逻辑操作的用法:Where 条件1<and | or | not>条件2例如:查找课程编号大于’c002’的课程由哪些老师讲授sSelect *from teacher ,course where teacher.tno = course.tno and o > ‘c002’例如:查找选修了课程’c002’,或者成绩大于70的学生有哪些select sname , sage , cno ,score from student a , sc bwhere a.sno = b.sno and (cno=’c002’ or score>70)例如:not关键字的使用:select *from sc where score not between 70 and 803、in关键字它是要求查询的结果在某几个值里面select *from sc where score not in(70,90,80)select *from course where cno in (‘c001’,’c002’,’c005’)in还可以应用到子查询中select *from sc where snoin (select sno from student where sno >= ‘s002’)4、like关键字like是作为SQL模糊查询比较常用的一个技术,在like关键字使用中提出两个比较特殊的符号%:0个或多个任意字符_:任意一个字符例如:a、查找学生表中姓“陈”的同学select * from student where sname like ‘陈%’b、查询学生表中名字是三个字的学生信息select * from student where sname like ‘___’----‘内三下杠’思考题:如果一个列中的内容含有下划线,要去用like来查找含有下划线的信息,该怎么做?在SQL模糊查询中提供了一个escape(逃离、躲避、转移)关键字,它作为转义符使用select *from student where sname like ‘%$_%’ escape ‘$’“$”是定义的转移符号,那么在$符号后面的下划线不再是like中的特殊符号,而是一个普通字符5、all关键字6、any关键字7、between…and 关键字5、聚合函数:只能对表中的数字类型进行计算,其他类型报错max、min、count、avg、summax函数使用:select max(sage) from student----求学生表中最大的年龄min函数使用:select min(sage) from student-----求学生表中最小的年龄count函数使用:select count (*)from studentselect count (sno)from studentcount(*):可以计算包含null列的记录数count(列名):记录总记录数的时候,不去计算null值avg函数的使用:select avg(sage) from student-----求学生表中的平均年龄sum函数的使用:select sum(sage) from student-----求学生表中的年龄和6、group by子句,它是一个分组函数,可以对某一列相同的值进行分组并求出相应的结果。