sqltask1

数据库基础知识

数据库定义

DB(database)

保存有组织的数据的容器

表(table)

某种特定类型数据的结构化清单
表名
模式 关于数据库和表的布局及特性的信息

列column

表由列组成 列是表中的一个字段 所有表由多个列组成(series)

行row

数据库记录record

主键

表中每一行都应该有一列可以唯一标识表中的每一行
任意两行都不具有相同的主键值(主键列不允许NULL值)
主键列中的值不允许修改或更新
主键值不能重用(如果删除,不能赋值给以后的新行)

外键

DBMS(database manage system)

数据库管理系统

SQL

结构化查询语言
structured query language
关系型数据库
二维表


主键
外键

mySQL数据库管理系统

数据库
数据表
视图
存储过程

导入数据库

cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysql -u root -p
CREATE DATABASE IF NOT EXISTS email DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use email;
source C:\Users\14163\Documents\MySQL\yiibaidb/email.sql;
select city,phone,country from `offices`;

这里offices反引号

检索数据

2.1 SELECT语句

SELECT lastname, firstname, jobtitle FROM employees;
SELECT lastname, firstname, jobtitle FROM employees WHERE jobtitle='Sales Rep';
SELECT lastname, firstname, jobtitle FROM employees WHERE jobtitle='Sales Rep' AND officeCode=1;
SELECT lastname,firstname,jobtitle FROM employees WHERE jobtitle!='Sales Rep';
SELECT firstname,lastname,jobtitle FROM employees WHERE officeCode>5;

如果没有明确排序查询结果,则返回的数据没有特定的顺序,返回的数据有可能是数据被添加到表中的顺序,也可能不是

将SQL语句分成多行更容易阅读和调试

检索所有列

SELECT * FROM employees WHERE officeCode=5;
#其中*是通配符

检索不同的值

SELECT DISTINCT firstname FROM employees;


限制结果

SELECT firstname 
FROM employees
LIMIT 5;

使用注释

/*SELECT firstname -- 这是一条注释
FROM employees
# 这是另一条注释
LIMIT 5;*/

排序检索数据(order by)

-- SELECT firstname FROM employees ORDER BY firstname;
-- 按多个列排序
SELECT firstname, lastname, jobtitle FROM employees ORDER BY firstname, lastname, jobtitle;
-- 先按照firstname 排序,再按照lastname排序,最后按照jobtitle排序
/*SELECT employeeNumber,lastName 
FROM employees 
ORDER BY lastName DESC;*/
# 降序(默认为升序,加上DESC为降序)descending

作业一

导入数据库在CMD运行
查询函数为

select Email from email group by Email having count(Email)>1;

作业二

SELECT name,population,area FROM world WHERE area>300 OR (area>2500 AND gdp>2000);

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值