####引言
什么是数据库?-数据库就是可以以表的形式存取数据,并和别人共享的库。

RDBMS-关系型数据库管理系统
sql-结构性查询语言,是标准的关系型数据库语言

在讲sql语言之前首先需要在电脑上安装数据库
1.安装sql server和ssms(从14版本起ssms不再集成在sql server当中)
2.打开ssms连接到数据库
3.右键左侧栏数据库-新建数据库(填写名称并更改资料位置和日志位置 以及起始大小等)
4.(右键新建的数据库,选择新建查询,就可以自由地写代码了,可以用代码建表等等等)

新建完成的数据库展开后,第一项-数据库关系图-下面存放的是E-R图(tables与tables之间的关系)。

行的表示:row/record
列的表示:column/attribute
表里的每一个格子:字段:field/cell

关系型数据库的基本要素是二维表。二维表可以独立使用或通过使用join语句连接起来使用。
主键(primary key)和外键(foreign key)是用来连接二维表之前的重要工具。
primary key:在该表中它对应column的值唯一(不能为NULL)且不能修改或更新,且可以用多列来作为primary key(比如可以是学号+姓名)
foreign key:另外的表中的primary key,通过这样的方式来建立两张表之间的联系。

####表的新建、修改和删除
建表
例:建立学生表Students(Sno,Sname, Semail,Scredit,Sroom);Sno是表Students的主键,具有唯一性约束,Scredit具有约束“大于等于0”;

CREATE TABLE Students(Sno CHAR(8) NOT NULL UNIQUE,Sname CHAR(20) NOT NULL,Semail CHAR(50),Scredit FLOAT,Sroom CHAR(20),CONSTRAINT PK_Students PRIMARY KEY(Sno),CONSTRAINT CK_Students_Scredit CHECK(Scredit>=0))

当然规定主键也可以直接这样写:Sno CHAR(8) PRIMARY KEY,
规定约束条件也可以直接:CHECK(Scredit>=0)
用CONSTRAINT(自定义约束名称)是为了方便取消约束时使用它。

作为别的表的外键:

CREATE TABLE Reports(Sno CHAR(8) NOT NULL,Tno CHAR(8) NOT NULL,Cno CHAR(8) NOT NULL,CONSTRAINT PK_Reports PRIMARY KEY(Sno,Tno,Cno),CONSTRAINT FK_Reports_Sno FOREIGN KEY(Sno) REFERENCES Students,

**修改表** 1.添加列Ssex ``` ALTER TABLE Students ADD Ssex CHAR(2) ```

2.修改列Ssex的数据长度改为4

ALTER TABLE Students
ALTER  COLUMN Ssex CHAR(4)

3.取消Scredit“大于等于0”约束

ALTER TABLE Students
DROP CONSTRAINT CK_Students_Scredit

4.删除表中的某列Sroom

ALTER TABLE Students
DROP COLUMN Sroom

**删除表**:`DROP TABLE <表名>`

####基本查询语句

SELECT<table fields list>//选出表格中的列
FROM<table names list>//选择某表格
WHERE<row constraints specification>//对字段进行限制或范围的限定
GROUP BY<grouping specification>//用于集合运算
HAVING<grouping selection specification>//对集合运算的结果进行限定
ORDER BY<order rules specification>//在选了多列时用于选定以某列进行排序(排序方式)

其中select…from…语句是必须的

use [数据库]
go

select * from []
是指想要数据库中某表的所有信息
select Top 100 * from []指选中前100行的信息
从左侧栏直接拖某张表进入写代码的地方,就会有它的名字显示,不用自己打

order by XXX **desc/asc**,XX2//XX2是指当XXX相同时,按XX2的正序排序
desc:descending order 倒序排列
asc:ascending order:正序排列
默认为正序排列
order by后面也可以跟数字 比如说order by 2 指的是select后面跟着的第二个列

为Students表创建按Sno降序排列的索引:CREATE INDEX XSNO ON Students(Sno desc)
创建表Students的按Sname升序排列的唯一性索引:CREATE UNIQUE INDEX XSNA ON Students(Sname ASC)
删除Students表Sno的降序索引:DROP INDEX Students.XSNO

isnull:
select XXX,isnull(Column name,’’) as XXX 就可以将该列中的null全部替换为’’,as可以将该列的名字替换为XXX(就算不想改也要写 不然表中会显示没有列名)

select XXX,XX2*24 as XX3,round(XX2*24,1) as XX3
这里的round是用来控制小数点保留位数。而呈现的记录应该是三列,一列是XXX,另外两列都叫XX3(不会被覆盖,XX2会不在里面),当然,XXX和XX2都需要是表里的列

数据库入门(sql新建、修改、删除表和基本查询语句)相关推荐

  1. 【SQL Server数据库】建库、建表、简单查询语句(一)

    记录数据库原理实验所用到的代码. 创建数据库 创建名称为XSGL_CP的数据库. create database XSGL_CP --设置主文件的逻辑名称.文件名.初始大小.最大文件大小限制.需要增加 ...

  2. 数据表的新建 修改 删除 mysql

    数据表的新建 修改 删除 mysql 我们准备操做目标数据库了 操作哪个库,就选中哪个库 创建数据表 新建一个数据库 新建一个数据表(学生表) 数据表中记录:编号,姓名,成绩,身高 建库 建表 查看建 ...

  3. 转-SQL 2005修改系统表

    FROM:http://blog.csdn.net/liangCK/archive/2008/10/07/3029315.aspx 在 SQL Server 2000 中修改系统表的方法大部分人都知道 ...

  4. 数据库入门-----SQL语言概述

    数据库入门-----SQL语言概述

  5. 知识图谱入门2-2:用户输入->知识库的查询语句

    注:欢迎关注datawhale:https://datawhale.club/ 系列: 知识图谱入门一:知识图谱介绍 知识图谱入门2-1:实践--基于医疗知识图谱的问答系统 知识图谱入门2-2:用户输 ...

  6. 数据库基础--数据库基础管理(创建库/表 以及插入修改删除表数据)

    1.啥子是数据库–存储数据的仓库 2.什么是数据–音乐,电影,文本,图片等 常见的数据库软件 Oracle 不开源 跨平台 厂商:甲骨文 MySQL 开源 跨平台 厂商:甲骨文 SQL Server ...

  7. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...

  8. sql server:删除表数据,标识列Id从1开始

    今天是元宵节,楼猪认为在这么热闹和喜庆的日子里,不写上一篇惊世骇俗的大作,嗯,也没什么大不了的. 在sql server数据库上创建有自增列的数据表,每次删除表的数据后,自增主键都无法自动从1开始计数 ...

  9. oracle修改表字段名备注_oracle 增加修改删除表字段,添加修改表、以及表中字段的备注...

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter ...

最新文章

  1. 谷歌将AutoML应用于Transformer架构,翻译结果飙升,已开源!
  2. 线性代数可以速成吗_广播/学习吉他速成靠谱吗?真的可以速成吗?
  3. 顶部标题栏(四)自定义ActionBar风格和样式
  4. 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。...
  5. 在没有适当上下文的情况下引发异常是一种不良习惯
  6. 这是一场数学、数学、数学的盛会
  7. 阿里云容器服务DaemonSet实践
  8. python requests 提示警告 InsecureRequestWarning
  9. mysql not in 转化_解析MySQL隐式转换问题
  10. OP-TEE内核学习笔记(一)(安全存储)—— 安全文件基础操作(创建、读、写)
  11. Tensorflow Serving初体验
  12. 第一章-问题求解策略-LA4238-Area of Polycubes
  13. 如何在matlab中表达点集,matlab练习程序(点集配准的SVD法)
  14. 使用笔记:AWTK中文键盘按键字体加大
  15. Qt程序移植到ARM
  16. VM12 启动虚拟机问题汇总
  17. Linux Device tree(二) - DT分析
  18. android 读取歌词.qrc,教程1:如何制作QRC歌词.doc
  19. 关于系统设计原则回顾
  20. calendar控件使用 extjs_ExtJs定制日历控件——自动加载更新(日历控件显示)

热门文章

  1. 百度地图- - - 鹰眼轨迹- - - 历史轨迹和里程查询
  2. 快速提取视频中的文案字幕,短视频创作者必看
  3. 代码是使用计算机的什么,什么是计算机的STOP代码-万兴恢复专家
  4. 大咖们的15条产品方法论,你都知道吗?
  5. 西门子阀门定位器选型注意事项
  6. 按关键词搜索工厂数据1688API
  7. 【网站书签】整理了一些自己觉得有用的资料网站,以此减轻浏览器书签负担(持续更新...)
  8. 介绍一款CD4066四双向模拟开关的测试电路
  9. 计算机无法识别sandisk,为什么我的电脑识别不了sandisk品牌的U盘
  10. 苹果4s电信版运营商不显示无服务器,苹果手机SIM正常,手机显示无服务?你可能需要这样做……...