2015.7.30 第十五课 sql(新建数据库、创建表、注释、查询语句、新增、更新、删除、联合查询)

1、认识数据库并新建:

1)打开数据库,连接到服务器。

2)服务里类型不用管。

3)服务器名称:打个点“.”表示服务器在本地计算机,如果是托管在别人的服务器上,就输入服务器IP地址。

4)身份验证:如果是windows身份验证,就需要有管理员权限。一般托管在别人的服务器上,(包括正常情况下),都是用SQL身份验证,需要输入sa和密码(密码就是安装时让输入的密码)。

2、  建立数据库:

在建立数据库名称时(各种名称时),都遵守一个命名规则:

1)用英文命名

2)每个单词的首字母大写(驼峰原则:首字母大写)

如:StudentInfor(学生信息表)

3、新建表:

右键点击,取名(遵循命名规则)。

4、建字段(数据):

在数据中,每一行都需要一个唯一的标识,也就是主键。主键一般起名就叫ID。

主键=标识=XXXID

主键:这一行数据的唯一标识,也就是我们设置的ID。

1)设置主键的方法:

右键点击想要设置为主键的项目前面的黑色三角形——设置主键

此时我们可以设置我们需要的主键为自增类型。

自增类型是:当我们往这个表里插入数据的时候,它的值会自动+1。(上图的1、2、3..会自动+1往下排,1、2、3、4、5、6……)

2)自增类型设置方法:

5、数据类型:在设置数据时,要注意数据类型。

如:

1)学生ID,数据类型是整形(int),是数字。

2)学生名字,就需要设置字符串(nvarchar(10)用的最多)

数据类型:

  • char,示例:UserName char(20) //char(20),字段定长表示20字符/10个汉字,如果只放一个字节,后面就是九个空格(一个中文两个字节)
  • nchar,示例:UserTelphone nchar(30) //nchar(30),放15个中文,定长
  • varchar,示例:UserAddress varchar(10)放五个中文,变长,如果只放一个字节,就只放一个字节
  • nvarchar,示例:UserPhoto nvarchar(max),变长,可以存放照片、文件等
  • int ,整数型字段。示例:UserAge int
  • float,浮点数据为近似值。示例:UserResults float ,用于表示浮点数值数据的大致数值数据类型。
  • datetime ,日期型。 示例:CreateDatetime datetime
  • bit,布尔类型。可以设置true是男生,false是女生

  如果是内容非常多,不确定长度(如文章),可以用:nvarchar(max)

6、保存表:

*如果要修改表,也要保存,然后刷新一下。

【提问】

问:如果表中的标识1、2、3、4……,我将2删除掉,让3、4自动变成2、3可以吗?

答:不要这么做,我们的项目中,表是和其它表关联的!如果你在这里把2删除了,会让其他关联的表出错的。所以最开始就设定好,不要删除后自动补齐,最好不要删除标识。

7、用代码建数据库或表:

新建查询——在代码编辑器里编写——sql语句(不区分大小写)

1)用以下语句可以建立一个叫Library的数据库:

create database Library

go

use Library

go

2)用以下语句可以建立一个Users的表,建立时要先选中对应数据库:

create table Users

(

UID int primary key,

userName nvarchar(20) not null,

userPwd  nvarchar(20) not null

)

8、删除数据库:

如果直接右键删除数据库,会提示错误,“数据库正在被使用”。

所以需要重启服务后,再删除。

*重启服务方法:

控制面板——管理工具——服务——找到对应服务重启以下。(或者sql的配置管理器里面也可以)

在平时做项目时,如果数据库挂了,就需要重启一下服务。

9、加入数据:(一般不会用手动的方式,而是写一个程序读取数据)

手动加入数据方法:右键点击表,选择编辑前200行,对表中的各个项目输入数据,写完后点一下执行按钮,此时表中就有数据了。

*如果想改已经写好的表里的项目(列名),保存后有时候会报错,此时:工具——选项——将箭头所指项目的勾去掉。

10、查询语句:(select)

  • select*from Products:查询出Products表里面的所有信息
  • select ProductID,ProductName from Products:查询出Products表里面所有的ProductID,ProductName
  • select ProductID,ProductName from Products where ProductID=1:查询出Products表里面ProductID=1的所有ProductID和ProductName
  • select* from employee where fname=‘Paul‘ and job_id=5 :查询出employee表中fname=Paul,并且job_id=5的所有记录
  • select*from Products where ProductID in(4,5,6):查询出Products表中ProductID为4,5,6的所有信息
  • select*from Products where UnitPrice>10 and UnitPrice<30 order by UnitPrice:查询出Products表中10<UnitPrice<30的所有信息,并按照UnitPrice的大小由小到大排序
  • select*from Products where UnitPrice between 10 and 30 order by UnitPrice:上面的另外一种写法
  • select * from Employees where FirstName like ‘A%‘:查询出Employees中FirstName里面第一个字母是A的所有人信息
  • select*from Employees where FirstName like ‘%A%‘:查询出Employees中FirstName里面中间有A的所有人信息
  • select*from Employees where FirstName like ‘%A‘:查询出Employees中FirstName里面最后一个字母是A的所有人信息
  • select count(*) from Employees:查询出Employees表中的所有记录数
  • select min(Unitprice)from Products:查询出Products表中Unitprice的最小值
  • select max(Unitprice)from Products:查询出Products表中Unitprice的最大值
  • select avg(Unitprice)from Products:查询出Products表中Unitprice的平均值
  • select sum(Unitprice)from Products:查询出Products表中Unitprice的总和
  • select * from Products where Unitprice> (select avg(Unitprice) from Products):有子查询,查找出比平均值高的商品信息
  • select top 5* from Products:查询出前五条的记录信息
  • select distinct [name] from Category :查出Category 中不重复的name
  • select count(distinct name) from Category :查出Category 中不重复的name的数量

11、新增语句:(Insert into)

  • insert into BOOK(bookName,bookPrice,bookAuthors) values(‘C#基础‘,‘35‘,‘ji‘)

  (插入bookName,bookPrice,bookAuthors这三个字段的值分别是:‘C#基础‘,‘35‘,‘ji‘)

12、更新语句:(Update...set...[where])

  • update BOOK set bookPrice=30 where bookName=‘C#基础‘

  (修改BOOK表,让bookName为C#基础的项中的bookPrice=30)

13、删除语句(delete from...)

  • delete from BOOK where bookName=‘C#基础‘

  (删除Book表中,bookName=‘C#基础‘的所有记录行)

14、联合查询:

1)inner join
select * from A inner join B on A.aID = B.bID  :以两表ID为标准,查询出A、B表都具备的项

2)right join
select * from A right join B on A.aID = B.bID  :以B表bID为标准,B表全部显示,A表中没有对应值的显示null

3)left join
select * from A left join B on A.aID = B.bID   :以A表aID为标准,B表全部显示,A表中没有对应值的显示null

时间: 2024-10-19 13:20:41

2015.7.30 第十五课 sql(新建数据库、创建表、注释、查询语句、新增、更新、删除、联合查询)的相关文章

2015.7.23 第十二课 课程重点(jq元素:获取、添加、删除、设置、绑定、显示隐藏、回调、动画)

1.获取内容: text():获取文本内容.text获取的是文本内容,假设被指定的<div>里面还有各种标签,text也只获取里面的纯文本内容. html():获取括号内内容.而html则是获取里面的全部内容,包括标签也会一起打印出来. [例] $(“#d1”).text(“aaaaa”); //打印出 aaaaa $(“#d1”).html(“<div>aaaa</div>”); //打印出<div>aaaa</div> 2.添加元素: $(A

第二十五课:超越抽象极限

1.一个阶跃输入,后面接戴维南电阻,测量点Vout,之后接其他设计电路,末端开路 理论上在同一时刻Vout也发生阶跃(例如 0到5V) 实际上,在t=0是,输出上升到一半,持续一段时间才会继续上升到5V 这是因为当导线非常长时,需要考虑信号传输时间 脉冲到达末端返回到Vo,Vo得到一个回波,两个2.5V相加就达到5V 这个阻抗对于多数导线都等于50欧姆,称之为特性阻抗 解决方法:换短的导线: 改变时钟信号 2.同一个电压对多个反相器供电 前一个反相器在上端导通时,通过的电流变化会在电感上产生压降

NeHe OpenGL教程 第三十五课:播放AVI

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十五课:播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到OpenGL中,虽然很慢,但它的效果不错.你可以试试. 首先我得说我非常喜欢这一章节.Jonat

NeHe OpenGL教程 第二十五课:变形

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十五课:变形 变形和从文件中加载3D物体: 在这一课中,你将学会如何从文件加载3D模型,并且平滑的从一个模型变换为另一个模型. 欢迎来到这激动人心的一课,在这一课里,我们将介绍模型的变形.需要注意的是各个模型必须要有相同的顶点,

OpenGL教程翻译 第十五课 相机控制(二)

OpenGL教程翻译 第十五课 相机控制(二) 原文地址:http://ogldev.atspace.co.uk/(源码请从原文主页下载) Background 在这一节中我们将使用鼠标来控制相机的方向,从而得我们的相机控制更加完善.相机有不同的自由程度,这与其设计有关.在本教程中我们将要实现的是与第一人称游戏中相似的相机控制(如枪战类游戏).这意味着我们将可以使相机完成360度的旋转(绕着Y轴),这与我们的头部向左转向右转.身体转一整圈类似.除此之外我们也能使相机向上或者向下倾斜以获得更好的向

第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍

第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structured Query Language) SOL语句是和DBMS“交谈”专用的语言,不同的DBMS都认SQL语法. Sql中字符串使用单引号:通过写俩个单引号来转义一个单引号. Sql中的注释“——” 单行注释比较好 判断俩个数据是否相等使用=(单等号) 在sql语句中sql代码不区分大小写 SQL主要

Java进阶(二十五)Java连接mysql数据库(底层实现)

Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜索.特将之前使用的方法做一简单的总结.也能够在底层理解一下连接数据库的具体步骤. 实现 首先需要导入相关的jar包,我使用的为:mysql-connector-java-5.1.7-bin.jar. 下面来看一下我所使用的数据库连接方法类: MysqlUtil.java package cn.edu

第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的查询

第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲-elasticsearch(搜索引擎)的查询 elasticsearch(搜索引擎)的查询 elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据 查询分类: 基本查询:使用elasticsearch内置的查询条件进行查询 组合查询:把多个查询条件组合在一起进行复合查询 过滤:查询同时,通过filter条件在不影响打分的情况下筛选数据

菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机

菜鸟玩云计算之十五:在Ubuntu上创建和管理Redhat虚拟机 [email protected] 虚拟机给工作带来巨大的便利,不仅仅体现在资源的按需使用,而且配置的迁移特别方便.本文将使用Ubuntu14.04 Desktop版本创建Redhat 64 Enterprise Server(RHEL64)虚拟机. 1 准备好安装光盘镜像 rhel-server-6.4-x86_64-dvd.iso 2 打开虚拟机管理器 尽管可以用命令行的方式创建虚拟机,但是本着简单事情简单做的原则,我使用vi