1启动服务:
    net start mssql$实例名   net start mssql$sunjob
    net stop  mssql$实例名

2启动资源管理器
    sqlwb

数据的完整性

域  实体  自定义 引用
实施数据的约束
        check
 数据类型
 是否为空
        主键
        唯一
 自动增长列
 默认值
数据类型:
 char
 varchar
时间和空间

级联(主外键关系)

建立学生信息表和成绩表 和借书表(stuNo 书名 书编号)

分类 备注和说明 数据类型 说明
二进制数据类型 存储非子符和文本的数据 Image 可用来存储图像
文本数据类型 字符数据包括任意字母、符号或数字字符的组合 Char 固定长度的非 Unicode 字符数据
Varchar 可变长度非 Unicode 数据
Nchar 固定长度的 Unicode 数据
Nvarchar 可变长度 Unicode 数据
Text 存储长文本信息
Ntext 存储可变长度的长文本
日期和时间 日期和时间在单引号内输入 Datetime  日期和时间
数字数据 该数据仅包含数字,包括正数、负数以及分数 int
smallint 整数
float
real 数字
货币数据类型 用于十进制货币值 Money 
Bit数据类型 表示是/否的数据 Bit 存储布尔数据类型

create database sunjob;
use sunjob;

create table stuInfo(
 stuNo  int not null identity(1,1) primary key,
 stuName  varchar(20) null,
 stuSex char(4) not null check(stuSex = '男' or stuSex = '女'),
 stuEmail varchar(20) not null check(stuEmail like '%@%.%'),
 stuAddress varchar(20) default '湖南株洲'
);
--delete是删除数据库的数据
delete  from stuInfo;
--drop是删除数据库的数据和结构
drop table stuInfo;
--这是查询数据库的数据
select * from stuInfo;
/*
 标识列不需要手动插入数据
 插入的数据要满足约束条件
 显式插入默认值 使用default
 允许为空的列值,可以省略,not null 是必须要写的
 当不指明字段时候, 后面的值要按顺序
*/
insert into stuInfo values('张三', '男', '469299503@qq.com', '湖南长沙');
insert into stuInfo values('李四', '女', '469299503@qq.com', default);
insert into stuInfo values( null, '男', '469299503@qq.com', default);

--插入多条 注意最后一个不要使用union ,
insert into stuInfo(stuName, stuSex, stuEmail)
select '曹欢', '男', '231@qq.com' union
select '赵六', '女', '3452@qq.com' union
select '文斌', '女', '3234@qq.com';

create table stuScore(
 stuNo int not null primary key,
 stuExam int,
 stuWritten float,
 stuLab float
);

--将现有的数据插入一张新表中 (难点)
/*
一:  首先要求新表存在, 一般情况可以多次执行
 insert into 新表(新的字段名)
 select 旧表的字段名
 from 旧表
*/
select * from stuScore;

insert into stuScore(stuNo)
select stuNo from stuInfo;

/*
二: 新表不存在,自动创建, 语句只能执行一次
  select 旧表字段名
  into 新表名
  from 旧表

select identity(int,1,1) as 字段名,其他字段名
  into 新表名
   from 旧表名
  */

select * into stuTest from stuInfo;

select * from stuTest;

select stuName,stuAddress,stuEmail,identity(int,1,1) as 自动增长列
into newTable1
from stuInfo

select * from newTable1;

delete from stuTest;--删除全部数据,但是它可以带上where条件值删除部分数据

truncate table newTable1;-- 删除全部记录,不能带上where条件语句

drop table stuTest;
drop table newTable1;--删除所有的数据及表结构
/*
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。
但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表
数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重
置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用
DROP TABLE 语句。

对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE
语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

TRUNCATE TABLE 不能用于参与了索引视图的表。
*/
--通配符的讲解
/*
 % 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。
 _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
 [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。
 [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。

将通配符作为文字使用
 可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。

符号 含义
 LIKE '5[%]' 5%
 LIKE '[_]n' _n
 LIKE '[a-cdf]' a、b、c、d 或 f
 LIKE '[-acdf]' -、a、c、d 或 f
 LIKE '[ [ ]' [
 LIKE ']' ]
 LIKE 'abc[_]d%' abc_d 和 abc_de
 LIKE 'abc[def]' abcd、abce 和 abcf

*/
select * from stuInfo;
delete stuInfo where stuName is null;--查询stuName是null的记录
select * from stuInfo where  stuEmail like '[2-4]%';--这是查询开头是以2,3,4其中任何一个数开头的
select * from stuInfo where  stuEmail like '[2,4]%';--这是产寻开头是以2,4其中任何一个数开头的

--更新
update stuInfo set stuName = '曹欢', stuEmail = '1234@qq.com' where stuNo = 1;

--查询
/*
 _表示任何的单个字符,%表示任意任何数量的字符
*/

select * from stuInfo where stuEmail like '1__4%';

--条件删除
delete  stuInfo where stuEmail  like 'sd[1,3]%'

delete  stuInfo where stuEmail  like 'sd[1-3]%'

delete  stuInfo where stuSex is null

--修改数据

update stuInfo set stuSex='男' where stuName='小桌子'

update stuInfo set stuName='小凳子',stuEmail='huzi@126.com' where stuNo=3

--查询
select * from stuInfo    --查询表结构

select stuNo,stuName,stuSex,stuEmail,stuAddress from stuInfo

--条件查询
select * from stuInfo where stuName='小凳子'
select * from stuInfo where stuName='小凳子' or stuSex='女'

--模糊查询
select * from stuInfo where stuName like '_椅_'
select * from stuInfo where stuName like '小%'

--查询具体的字段
select stuName from stuInfo where stuName='小凳子'
select stuName,stuSex from stuInfo where stuName='小凳子'

sql的简单的增删改查相关推荐

  1. mysql笔记 SQL语句简单的增删改查

    文章目录 mysql来源 navicat快捷键 mysql数据库语言分类 DQL 简单查询 条件查询 模糊查询 分组查询 使用limit字句 多表查询 在增删改句子中使用子查询 排序 显示当前使用数据 ...

  2. html单页面js完成表数据库自动生成带注释的java实体类和简单的增删改查sql

    支持Mysql和Oracle,mybatis和ibatis可选.功能主要还是字符串的拼凑完成的,把用把表信息复制过来或者增加后台,就可以生成简单的增删改查了 临时体验点这里 我也不知道地址什么时候失效 ...

  3. android连接sqlite进行简单的增删改查和事务管理

    为什么80%的码农都做不了架构师?>>>    Android连接数据库sqlite并进行简单的表创建和增删改查功能参考代码,使用Android单元测试进行验证,首先新建项目进行配置 ...

  4. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 1 Public static void main(String[] arg ...

  5. 使用JDBC来实现一个简单的增删改查

    使用jdbc来实现一个简单的增删改查 package com.database;import java.sql.Connection; import java.sql.PreparedStatemen ...

  6. 实现简单的增删改查(Asp.Net MVC+Layui)

    实现简单的增删改查(Asp.Net MVC+Layui) 一.页面效果 二.前期准备 1.新建项目 2. 在项目中新建文件夹(设置mvc的雏形) 3.连接数据库(SqlServer) JdbcUtil ...

  7. Springboot整合JDBC和DBUtils,实现简单的增删改查.

    Springboot整合JDBC和DBUtils,实现简单的增删改查. 一.pom.xml文件 <?xml version="1.0" encoding="UTF- ...

  8. knex简单的增删改查

    微信小程序给的node的demo中用到了knex来操作数据库,总结下简单的增删改查. 一个公式: knex('表名').where().方法 查询 knex('student') .where({na ...

  9. JOOQ初学-简单的增删改查demo

    初学JOOQ,写个blog为了mark一下,也方便大家交流.直接上代码了.在网上搜不到太详细的demo和文档,都是英文的.哎,忧桑...在这里写几个demo,大家看看,有不足望指教. 初步的数据库连接 ...

最新文章

  1. 想让关系更好就不要怕麻烦
  2. 三维地形制作软件 World Machine 基础入门学习教程
  3. linux之find -regex 使用正则表达式
  4. 网站优化之交换友情链接应注意什么?
  5. Spring Cloud Netflix Eureka 配置参数说明
  6. 【HTTP协议】超详细的HTTP协议详解
  7. 如何在WCF中用TcpTrace工具查看发送和接收的SOAP消息
  8. 如何设置mysql的权限_mysql 权限控制
  9. 前端js 实现文件下载
  10. nginx mozilla_Android进入汽车市场,Mozilla进入电视市场,等等
  11. linux获取连续数组下标值,shell 数组,双层循环打印变量
  12. AppStore编年史 iOS游戏开发者的变迁路
  13. Python常用画图代码(折线图、柱状图、饼图)
  14. 切图具体需要切什么内容_什么是切图?网页制作中的切图是什么?
  15. 内存颗粒的逻辑bank理解
  16. 推荐凸优化经典书籍,来自boyd
  17. amesim子模型_Amesim制动卡钳仿真--制动液子模型
  18. 【linux应用编程】-进程全解
  19. 安装程序检测出计算机内含有下列,图文帮您win10系统安装ps提示:安装程序检测到计算机处于挂起状态的解决教程...
  20. 黑马程序员_程序代码实现进制转换

热门文章

  1. 微机原理与接口技术实验:宏实现1+2+3...+100
  2. “流支付”掀起互联网支付创新浪潮,SAK支付白皮书揭秘
  3. 你会如何给全局对象添加toString()方法
  4. C#中 out的使用
  5. 测试你最关心的QQ好友并爬取空间留言
  6. 用swoole实现实时弹幕网站demo
  7. C语言编程答案保留三位小数,如何用c语言求倒数,保留3位有效数字
  8. create_calib_data算子说明
  9. 超声波测距仪编程_北邮小学期pic单片机-超声波测距仪实验报告(附代码).docx
  10. 乘法器的实现(阵列、Booth、Wallace)