MSSQLServer基础02(SQL语句入门(脚本、命令))
SQL 全名是结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言
SQL语句是和DBMS“交谈”专用的语句,不同DBMS都认SQL语法。
SQL语句中字符串用单引号、单等号。
select *、SeLeCT *:
SQL语句是大小写不敏感的,不敏感指的是SQL关键字,字符串值还是
大小写敏感的(大小写是否敏感取决于具体的数据库排序规则设置)
--在数据库中两个'表示一个‘ 【 '' 转义 ‘】
-------drop database MySchool
create database MySchool
on
(
--------括号一定是圆括号
name='MySchool_data',------------数据库名称
filename='d:\MySchool_data.mdf',----------物理文件名
size=5mb,----------初始大小
maxsize=10mb,--------------最大大小
filegrowth=15% --------------主文件增长率
)
log on
(
name='MySchool_log',----------------日志文件名
filename='d:\MySchool_log.ldf',---------------日志物理文件名
maxsize=4mb,-----------------最大大小
size=2mb,
filegrowth=1mb
)
go
use MySchool
go
-------drop table Class
create table Class
(
cId int identity(1,1) primary key,
cName nvarchar(50) not null,
cDesciption text
)
-------------drop table student
create table Student
(--------------创建学生信息表
sId int identity(1,1) primary key,-----------------自动编号
sClassId int not null,-----------------班级外键
sName nvarchar(50) not null,
sAge int not null,
sNo numeric(18,0),-----------------------身份证号,十八位数字,小数为
sSex char(2) not null,
sEmail varchar(50)
)
==============================================================================================
介绍生成脚本工具
数据库→右键→任务→生成脚本
可选择生成什么样的脚本
选择生成的数据库版本
是否包含某些脚本等
是否生成带数据的脚本(2005、2008都有该功能,express没有)
简单数据插入insert
向表中插入一行(该行的每一列都有数据)
insert into 表(列名,列名) values(值1,值2)
insert语句可以省略表名后的列名,但是不推荐。
Insert into 表 values(值1,值2)
简单数据更新(数据修改)
更新一个列:update Student set sSex = ‘男’
更新多个列: update Student set sSex ='女',sAge = 18,sBirthday='1989-8-8'
更新一部分数据: update Student set sClassId= 4 where sClassId = 1,用where语句表示只更新Name是’tom’的行,注意SQL中等于判断用单个=,而不是==。
Where中还可以使用复杂的逻辑判断update Student set sAge=30 where sName='华佗' or sAge<25 ,or相当于C#中的||(或者)
所有学生的年龄加1update Student set sAge = sAge + 1
update Student set sClassId=6
where (sAge>20 and sAge<30) or(sAge=50)
Where中可以使用的其他逻辑运算符:(||)or、(&&)and、(!)not、<、>、>=、<=、 <>(或!=)等
优先级:
not and or
用小括号可以改变优先级.
简单数据删除
删除表中全部数据:DELETE FROM Student。
Delete只是删除数据,表还在,和Drop Table不同。
Delete 也可以带where子句来删除一部分数据:DELETE FROM Student WHERE sAge > 20
--=======使用delete from 表名与truancate table 表名,都能把表中的数据全部删除-======
--区别:
--1.delete 语句删除数据的时候,自动编号没有恢复到默认值。但是truancate语句重新设置了自动编号
--2.通过truncate语句删除表中的数据的时候,只能一次性都清空,不能根据条件来删除,而delete可以根据条件来删除。
--3.truncate语句清空表中的数据时,速度(性能)比delete语句快的多的多的多。
--4..truncate语句不触发delete触发器。
MSSQLServer基础02(SQL语句入门(脚本、命令))的更多相关文章
- 1.SQL语句入门
--SQL语句入门-- --1.sql语言是解释语言 --2.它不区分大小写 --3.没有"",所有字符或者字符串都使用''包含 --4.sql里面也有类似于c#的运算符 -- 算 ...
- 02_数据库基础之(二)sql语句入门
1.基本增删改查操作 #一. 数据类型 常用的3中 # .字符串 例如:你的名字 我是中国人 在数据库中要使用 ‘’引起来 '苹果手机' # .整数类型 例如: 你的年龄 ,办公室的人数 个 ,直接使 ...
- MariaDB——数据库基础与sql语句
数据库介绍 什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据 ...
- Loadrunner测试数据库性能,测试SQL语句的脚本例子
Loadrunner与SQL Server的操作可以通过录制的方式来实现,但本文还是通过直接调用loadrunner本身的function来实现sql语句的操作, 主要用到的是lr_db_connec ...
- django系列5.4--ORM中执行原生SQL语句, Python脚本中调用django环境
ORM执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询. Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回 ...
- Oracle基础 动态SQL语句
一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL ...
- ADO.NET基础02(语句参数化,配置文件,DataSet与DataTable)
ADO.NET连接池 ado.net默认启用了连接池 *如何清空连接池?Connection的静态方法ClearAllPools(). ClearPool() Ado.net连接池使用总结: 1.第一 ...
- MySQL基础----动态SQL语句
尊重原创:http://blog.csdn.net/abc19900828/article/details/39501643 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 eg: ...
- 反射生成SQL语句入门
今天我们来学习学习通过反射技术来生成SQL语句. 反射提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型.然后,可以调用类型的方法或访 ...
随机推荐
- javascript笔记——密码组合规则
//6-16个字符,字母加数字或符号的组合密码[必须全部包含] var filter = /^(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*])(?=.*[A-Z]) ...
- 通过Curator操作Zookeeper的简单例子代码
Curator主要解决了三类问题: 一个是ZooKeeper client与ZooKeeper server之间的连接处理; 一个是提供了一套Fluent风格的操作API; 一个是ZooKeeper各 ...
- must implement the inherited abstract method DialogInterface.OnClickListener.onClick(DialogInterface, int)问题
依照视屏编写代码如下 class MyButtonListener implements OnClickListener{ @Override public void onClick(View v){ ...
- eclipse安装ermaster建模插件
下载ermaster.jar 放到plugins重启eclipse即可
- .NET基础之深度复制和浅度复制
之前一直没有搞清楚深度复制和浅度复制的区别到底在哪里,今天彻底把这个东西弄懂了,写出来与到家共勉. 如果大家不懂值类型和引用类型的区别,请先看http://www.cnblogs.com/Autumo ...
- WPF后台更换背景图-Background
Uri uri = new Uri("Images/BACK.gif", UriKind.Relative);BitmapImage bimg = new BitmapImage( ...
- HubbleDotNet开源全文搜索组件相关资源
系统简介 HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件.开源协议是 Apache 2.0.HubbleDotNet提供了基于SQL的全文检索接口,使 ...
- Python socket模拟HTTP请求
0x00 起 最近在做一个对时间要求比较高的扫描器,需要封装一下SOCKET模拟HTTP发包的一些常用函数.简单的说,就是重写一下requests中的get.post方法. 今天在写的时候,遇到一枚很 ...
- 格式化说明符定义、转义字符、枚举、结构体、typedef
1.格式化说明符定义: %i,%d:输出十进制整型数 %6d:输出十进制整型数,至少6个字符宽 %li,%ld:输出长整数 %u:输出无符号整数 %lu:输出无符号长整数(相当于:unsigned l ...
- having与where区别
having后可以跟组函数如avg(sal)而where后不可以有, 如果条件不是必须使用组函数最好还是使用where