数据库(一):概述

了解MYSQL

数据库
数据库是一个以某种有组织的方式存储的数据集合。

数据库中通过 这种结构化的文件来存储某种特定类型的数据,例如:

studentIDstudentNamestudentAge
20101101Li Hua18
20101102Andy19
20101103John20

上面是一个统计班级学生信息结构, 一般在一个特定的数据库中,存储着多种多样的 结构(表名应该是唯一标示的),各个表结构之间可以维持某种连接关系。

1. 表(table)

某种特定类型数据的结构化清单

中的记录:
表中有 ,每一行代表表中的一条记录,而每一列存储某种特定的信息,上面的班级学生信息表中的第一列表示学生ID信息。

2. 主键:

  • 主键是表中一列或者一组列标识的,它的值能够唯一的标识表中的每一行,是唯一的,不能为NULL,表中的主键需要满足一下的条件:
  • 任意两行都不具有相同的主键值;
  • 每一行都必须具有一个主键值(主键值不允许为NULL
  • 主键列中的值不允许修改或更新

3. SQL (structured Query Language)结构化查询语言

SQL是一种专门用来和数据库打交道的语言,许多数据库管理系统厂商都对SQL语言进行了相应的扩展,例如MySQL,Oracle,SQL Server等等,但是大多数数据库供应商都支持SQL。


MYSQL的安装与开启

1. Ubuntu中安装MySql:

  • 只需要在线安装即可:
    picture1

  • 在安装过程中可能需要为mysql root输入密码,需要记住密码,利用下面的方式打开MySQL:

    1)检查MySQL的服务是否启动:
    这里写图片描述

    2)打开service服务:
    表示服务已经启动,如果没有启动,可以使用如下的方式启动mysql service:
    这里写图片描述

    3) 使用root账号登陆:
    这里写图片描述
    其中-p表示输入密码,若没有为root输入密码,则不用-p

2. 查看系统中所有数据库:

这里写图片描述

3. 链接数据库:

这里写图片描述

4. 查看特定数据库的内容:

这里写图片描述

检索数据库

1. SELECT语句检索一个或多个数据列:

SELECT 列名(可以是多个列名) FROM 表名;

上面为最简单的检索数据库语句,例如:

这里写图片描述

可以列举表中的多个列名,如果想检索表中的所有列,可以使用 * 通配符, 例如:

这里写图片描述

如果希望不显示相同的值,只希望显示不同的值,可以使用关键字DISTINCT,例如:

这里写图片描述

2. 对检索的结果进行排序

方式一:

SELECT 列名
FROM 表名
ORDER BY 一个列或者多个列名

方式二:

SELECT 列名
FROM 表名
ORDER BY 23//表示以列名表中的第2列和第3列排序(优先第2列,第2列相同的情况下根据第3列排序)

通过 DESC(降序)ASC(升序) 指定排序是降序还是升序,默认情况下是升序排列,例如:

这里写图片描述

注意 ORDER BY 语句应该是 SELECT 语句的最后一句

3. 通过where进行检索过滤**

  • 基本形式:

    SELECT 列名
    FROM 表名
    WHERE 子句
    ORDER BY 子句;
  • WHERE子句中的操作符:

    操作符说明操作符说明
    =等于>大于
    <>不等于>=大于等于
    !=不等于!>不大于
    <小于BETWEEN在指定的两个值之间
    <=小于等于IS NULL为NULL值
    !<不小于
  • 运用IS NULL的例子:
    这里写图片描述

  • WHERE 子句中使用高级数据过滤, 例如 ANDORINNOT

    SELECT pro_id, prod_price, prod_name
    FROM Products
    WHERE vend_id = 'DLL01' AND prod_price <= 4;
    SELECT pro_id, prod_price, prod_name
    FROM Products
    WHERE vend_id = 'DLL01' OR vend_id = 'BRS01';
  • IN 操作符后跟由逗号分隔的合法值,这些值必须在括号里面, IN 的优点在于可以包含其他的SELECT语句,能够更加动态的建立WHERE子句。

    SELECT pro_id, prod_price, prod_name
    FROM Products
    WHERE vend_id IN ('DLL01', 'BRS01')
    ORDER BY prod_name;
  • 使用 通配符 进行过滤, 为了使用通配符,必须在WHERE 子句中使用 LIKE 关键字,有如下几种通配符:

    通配符意义
    %任何字符出现任何次数
    _只是匹配单个字符
    []用来指定一个字符集

    ····

    下面是几个使用通配符的例子:

    这里写图片描述

    这里写图片描述

    注意:
    1)不要过度使用通配符,能使用别的方式代替尽量使用别的方式
    2) 尽量不要在开头使用通配符

  • 创建计算字段:

    SELECT Concat(vend_name, ' (', vend_country, ')')
    FROM Vendors
    ORDER BY vend_name;
    --功能:SELECT完成以下的拼接:
    --存储在vend_name中的名字;
    --包含一个空格和(的字符串;
    --存储在vend_country中的国家;
    --包含一个)的字符串。
  • AS取别名:

    这里写图片描述

    这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值