想学好数据库,从事有关数据库相关的工作,掌握本文所提供的命令是使用熟练使用数据库的基石

一、常用的指令

1.select

1.1 select...where

1.2 Select … order by ...升序ASC或降序DESC

1.3 Select … group by 按组分类

1.4 Select … join

2.count

3.delete

4.update

5.insert

6.BETWEEN...AND (在什么之间)和 IN( 集合)

7.is null(不为null值) 与 like(模糊查询)、distinct(去除重复值)

8.create

二、实际应用

思路: 创建库-创建表(设置主键)-输入数据-选取数据-退出数据库

2.1 创建库

//初始化表 ,4种初始化方式例如:

on
primary
(
name=Student4_dat1,
filename='E:\DataBase\Student4_dat1.mdf',       --主数据文件,起始大小100M,最大200M,超出100M后每次增加20M--
size=100mb,
maxsize=200,
filegrowth=20),(
name=Student4_dat2,
filename='E:\DataBase\Student4_dat1.ndf',         --次数据文件,同上--
size=100mb,
maxsize=200,
filegrowth=20
)
log on
(
name =Student4_log1,
filename='E:\DataBase\Student4_log1.ldf',          --日志文件,增长5%--
size=100mb,
maxsize=200,
filegrowth=5%
),
(
name =Student4_log2,
filename='E:\DataBase\Student4_log2.ldf',           --日志文件2,超出容量后每次增长20M--
size=100mb,
maxsize=200,
filegrowth=20
)

// 添加二级数据库

alter database Student(同上),

// 删除二级数据库
   DROP DATABASE name1,name2

// 修改数据库名称

(1)alter database name(原先数据库的名称)

modify name=name1(更改数据库的名称)

(2)exec sp_renamedn 'name','name1'

2.2创建表(定义表中类型和数量)

use  name

drop table if exists students ; // 删除之前用同样名称的表

create table students(

id int(3) //定义变量

name varchar(50) not null

学号 char(12) ,姓名 nchar(3) ,性别 nchar(1)

..

2.3 处理表中数据

创建表完成后,对表数据进行修改操作

2.3.1 输入数据(2是种输入方式,插入新的属性,补充属性数据)

// 插入新列

alter table student

add 联系电话 char(15) null

// 在表中插入数据(补充表中数据)

insert   student

values(‘’)  // 注意:括号里面的数据是创建表中设计的数据,用' ’隔开

2.3.2  修改数据(2种方式,格式更改和数据更改)

格式更改:

alter table student

alter coumn 列的名字  列的类型(字符长度)

例如:

alter table student alter column 联系电话 char(50)

数据更改:

UPDATE 表名 SET 列名=VALUE WHERE [条件]

例如:1.update 课程 set 学分=学分+1 where 课程类别='必修'

2.UPDATE `student` SET `studentname`='嘻嘻哈哈' WHERE `studentname`='万进进' AND sex='女'

2.3.3  查询数据* (难点)

查询的三种方式:基本查询,嵌套查询,联结查询

(1)基本查询

语句1: select *from  表名  where 列名=行值

where 的作用是按条件选取数值,有4种方法:前面都是 select *from 列名

between .. and

like   有2种表示方式下划线_和百分号%,下划线只能模糊1个字符,百分号可以是0个,也可以是多个字符

in 子句   字段内容是结果合集或者子查询中的内容

select 学号 , 课程编号 , 成绩 from 选课  where 课程编号  IN('C606','C607' ) 

is 子句 is null

select 的作用是选取目标表,主要有几种选取方式:

order by默认按升序排序,asc是升序,desc是降序
into子句:把查询的结果放入一个新建的表中
union将不同的查询数据结合起来,会自动的将重复的数据行删除
group by 将一个或多个列或者表达式的值将结果集中的行分成若干组
例如:select 课程编号 , MAX (成绩) as 最高分 from 选课 group by 课程编号 

group by 字句   having

(2)嵌套查询

语句:SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN( SELECT Sdept FROM Student WHERE Sname='刘晨'--; );

IN谓词后面的语句块中,结尾不需要添加分号
并且字符串都是用单引号来引用的,双引号会报错

in 相当于 =

扩展知识:

>ANY    大于子查询结果中的某个值
>ALL    大于子查询结果中的所有值
<ANY    小于子查询结果中的某个值
<ALL    小于子查询结果中的所有值
>=ANY    大于等于子查询结果中的某个值
>=ALL    大于等于子查询结果中的所有值
<=ANY    小于等于子查询结果中的某个值
<=ALL    小于等于子查询结果中的所有值
=ANY    等于子查询结果中的某个值
=ALL    等于子查询结果中的所有值(通常没有实际意义)
!=(或<>) ANY    不等于子查询结果中的某个值
!=(或<>) ANY    不等于子查询结果中的所有值

(3)联结查询(难)

SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表。联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结及其语法是学习SQL的一个极为重要的组成部分。

代码编写:

(内连接)

where  条件= INTER  表 JOIN 表   ON  条件

例如:

SELECT vend_name,prod_name,prod_price FROM vendors,products WHERE vendors.`vend_id` = products.`vend_id` ORDER BY vend_name,prod_name;

等价于 SELECT vend_name,prod_name,prod_price
FROM vendors INNER JOIN products
ON vendors.`vend_id` = products.`vend_id`
ORDER BY vend_name,prod_name;

(内连接)  用自身表查询的数据找到自身

例如:

SELECT prod_id,prod_name FROM products WHERE vend_id = (SELECT vend_id FROM products WHERE prod_id = 'DTNTR')

等价于

SELECT p1.prod_id,p1.prod_name FROM products p1, products p2 WHERE p1.`vend_id` = p2.`vend_id` AND p2.`prod_id` = 'DTNTR';

(外连接) 分左外连接和右外连接,连接后处理包括检索后的表,还包括未检索的表,左外是选取左边全部加右边检索,右外是检索右边全部加左边检索,具体代码实例如下:

SELECT customers.`cust_id`,orders.`order_num` FROM customers LEFT JOIN orders ON customers.`cust_id` = orders.`cust_id`;

也就是从

表 JOIN 表ON 变成

表  LEFT JOIN 表 ON  条件

表 RIGHT JOIN 表ON 条件

扩展查询方法:组合查询

要点:

1. UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔(因此,如果  组合4条SELECT语句,将要使用3个UNION关键字)。
2.UNION中的每个查询必须包含相同的列、表达式或聚集函数(不过各个列不需要以相同的次序列出)。
 3.列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)。
 4.UNION从查询结果集中自动去除了重复的行

5. 相当于用where  IN  进行表的连接补充,若想呈现所有的行,必须用 UNION ALL 而不是UNION

SELECT vend_id,prod_id,prod_price
FROM products
WHERE prod_price <= 5
UNION 
SELECT vend_id,prod_id,prod_price
FROM products
WHERE vend_id IN(1001,1002);
 相当于:

SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5 OR vend_id IN(1001,1002);

三、总结

使用数据库时还会遇到很多小问题,下一章将会讲数据库在使用过程中遇到的问题以及如何高效的解决题目

数据库常用的命令讲解相关推荐

  1. Mysql数据库常用的命令大全

    本文转自https://blog.csdn.net/poloyzhang/article/details/41142533MYSQL常用命令 1.导出整个数据库 mysqldump -u 用户名 -p ...

  2. 数据库常用对象概念讲解

    数据库对象是数据库的组成部分,常见的对象有:表.索引.视图.图表.默认值.规则.触发器.存储过程.用户.序列等. 表(Table) 数据库中的表与日常生活中使用的表格类似,由行(Row)和列(Colu ...

  3. Oracle操作数据库常用名命令(set linesize,pagesize,conn命令,feedback命令)

    安装Oracle时要注意以下:关闭防火墙,断开网络. 在安装Oracle时,要选上:创建带样本的数据库,如果不选上,就不会有大数据用户出现. 通过DBCA可以创建数据库,如果想连接自己创建的数据库,可 ...

  4. oracle查看数据库是否恢复成功_【新书连载】测试工程师核心开发技术(9)—数据库常用管理命令...

    3.2.4 确认安装 到目前为止,Oracle已经安装成功并且为其创建了数据库,现在就需要确认一下刚才安装的Oracle数据库管理系统能否正常工作.我们按照如下4个步骤来进行验证. 1.检查Oracl ...

  5. 配置mysql命令_Mysql 数据库常用配置命令

    1.查看mysql数据库默认编码: mysql> show variables like "character%"; +--------------------------+ ...

  6. MongoDB数据库常用SQL命令

    1.db.collection.updateMany() 修改集合中的多个文档. db.getCollection('user').find({"pId":"3332a5 ...

  7. mysql数据库常用备份、恢复命令

    转自:http://blog.csdn.net/bxbx258/article/details/2945832 还原一个数据库:mysql -h localhost -u root -p123456 ...

  8. mysql还原数据表的语句_MYSQL数据库常用备份及恢复语句

    备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求. mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件 备份MySQL数据库为带删除表的格式,能够让该备 ...

  9. MySQL 数据库常用命令—where like union 排序 分组 连接

    引言 本篇博客对 MySQL 数据库的一些命令进行分享. where 语句 基本语法规则: select field1, field2,...fieldN from table_name1, tabl ...

最新文章

  1. spring 数组中随机取几个_游戏编程中需要掌握哪些数学物理知识
  2. Asp.Net 创建MetaWeblog API
  3. 三因子两水平doe_DOE试验设计案例
  4. Programming Computer Vision with Python (学习笔记六)
  5. y7000p电池固件_拯救者Y7000、Y7000P、Y9000k显卡切换了解一下
  6. 2009'中国GIS优秀工程公示
  7. Kubernetes 1.20 版本开始将弃用 Docker,是时候拥抱 Containerd 和 Podman 了!
  8. 完全平方数(HYSBZ-2440)
  9. Java IO——字节流和字符流详解区别对比
  10. 微信网页授权失败原因总结
  11. matlab实现拉格朗日插值法后的实验感想
  12. mysql查询每月最后一天数据_Mysql查询每个月的最后一天
  13. Stream实践总结
  14. Anaconda安装完python文件.py不显示黄蓝图标
  15. python导入文件
  16. 配置文件和日志文件导出方法
  17. 使用环信sdk做一个简单的聊天APP
  18. Types of Data
  19. 计算机毕业设计(附源码)python校园社团管理系统
  20. 非科班程序员半路出家并成功进入eBay,秘籍在这里

热门文章

  1. ZigBee无线传感网络概述
  2. 【ECDH java后端和javaScript前后端互通实现】
  3. 百度中的高级搜索功能
  4. RPM包安装或者安装源码包
  5. 处理ORA-06512错误方法
  6. python plt legend并排_【Matplotlib】图例分开显示
  7. android 显示表情符号,在Android中显示表情符号
  8. 区块链难理解?这里有一篇初学者指南
  9. AutoJs学习-实现自动发邮件
  10. 大专毕业后在富士康当生技