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,-----------------自动编号 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)
foreign key(sClassId) references Class(cId) )
==============================================================================================
介绍生成脚本工具
数据库→右键→任务→生成脚本 可选择生成什么样的脚本 选择生成的数据库版本 是否包含某些脚本等 是否生成带数据的脚本(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触发器。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|