数据库入门

数据库

mysql常用命令

在这里插入图片描述

不见分号不执行

以下命令不区分大小写

  • 查看当前数据库 show databases;
  • 使用数据库 use+数据库名;
  • 创建数据库create database+名字;
  • 退出mysql exit
  • 查看某个数据库下有哪些表 show tables;
  • 查看mysql的版本号 select version;
  • 查看当前使用的数据库 select database();
  • \c 终止一条命令

数据库中最基本的单元是表:table

数据库中是以表的形式表示数据,因为表比较直观

任何一张表都有行和列:

  • 行(row)被称为数据/记录

  • 列(column) :被称为字段

姓名 性别 年龄 (列:字段)

张三 男 20 ---->行(记录)

每一字段下的数据类型应一致

每一个字段都有:字段名、数据类型、约束等属性。

sql语句分类

DQL(最常用)

数据查询语言,凡是带有select关键字的都是查询语句

select…

DML

数据操作语言,凡是对表当中的数据进行增删改的都是DML

insert… 增 delete…删 update…改

DDL

数据定义语言,凡是带有create、drop、alter的都是DDL

DDL主要操作的是表的结构、不是表中数据

create…新建、等同于增 alter…修改

TCL

事务控制语言,包括事务提交(commit)、

事务回滚(rollback)

DCL

是数据控制语言,包括授权(grant)、

撤销权限(revoke)

sql数据的导入

sorce+路径(不含中文)

查看表中的数据

  1. select * from表名;

    统一执行这个SQL语句

  2. 不看表中的数据,只看表的结构,有一个命令

    desc+表名;或describe+表名;

±-------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±-------±------------±-----±----±--------±------+
| DEPTNO | int | NO | PRI | NULL | |
| DNAME | varchar(14) | YES | | NULL | |
| LOC | varchar(13) | YES | | NULL | |
±-------±------------±-----±----±--------±------+

DQL

简单查询

  1. 查询一个字段

    select 字段名 from 表名;

select和from都是关键字,字段名和表名都是标识符
在这里插入图片描述

  1. 查询多个字段

    使用逗号隔开
    在这里插入图片描述

  2. 查询所有字段

    1. 把每个字段都写上
    2. 使用*

    这种方式的缺点:

    效率低

    可读性差

在实际开发中不建议,在Dos命令窗口中想快速的着一看全表数据可以采用这种方式。

列起别名

select deptno,dname as deptname from dept;

在这里插入图片描述

注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫: dname

select 永远不会进行修改操作,他只负责查询检索

DBMS会对语句进行编译,别名中出现空格不符合语法,编译报错。

select deptno,dname as ‘dept name’ from dept;

单(双)引号时可空格

注意:在所有的数据库当中,字符串统一使用单引号括起来,单引号是标准,双引号在oracle数据库中用不了。但是在mysql中可以使用。数据库中的字符串都是采用单引号括起来。这是标准的。双引号不标准。

在这里插入图片描述

字段可以使用数学表达式

条件查询

将符合条件的数据查询出来

语法格式

select
	字段1,字段2...
from
	表名
where
	条件;
  1. 等于(不等于、小于、大于、小于等于、大于等于)

    eg.查询薪资等于800的员工姓名和编号

select empno,ename from emp where sal = 800;

​ 不等于(!=)或(<>)

​ eg.查询薪资不等于800的员工姓名和编号

select empno,ename from emp where sal != 800;
select empno,ename from emp where sal <>800;

​ eg.查询史密斯的编号和工资

select empno,sal from emp where ename = 'SMITH'
  1. 查找区间
#法一
select empno,ename,sal from emp where sal>=2450 and sal <=3000;
#法二between...and...
select 
	empno,ename,sal 
from
	emp 
where 
	sal between 2450 and 3000;

使用between…and…须遵循区间规则(左小右大)

between…and…是闭区间,包含两边的值

  1. null/not null

    eg.查询哪些员工的津贴/补助为null

select empno,ename,sal,comm from emp where comm = null#不行
select empno,ename,sal,comm from emp where comm is null

**在数据库中,null不能使用等号衡量,需用is null **

因为数据库中的null代表什么也没有,它不是一个值。

否定 is not null

  1. 并且and

    eg.查询工作岗位是MANAGER并且工资大于250o的员工信息

    select
    	empno,ename,,job,sal
    from
    	emp
    where 
    	job = ‘MANAGER’ and sal > 2500;
    
  2. 或者 or同上

and和or同时出现存在优先级问题

and优先级比or高,会先执行and,如果想让or先执行,需要加小括号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值