zoukankan      html  css  js  c++  java
  • 学习笔记12

    第十四章、MYSQL数据库系统
    一、MySQL简介
    MySQL(MySQL 2018)是一个关系数据库系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言),包括MySQL。
    MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。
    二、安装MySQL
    1.Ubuntu Linux
    对于Ubuntu 16.04及以后版本,通过以下操作安装MySQL:
    sudo apt-get install mysql-server
    mysql-server包包括一个MySQL服务器和一个客户机。在安装MySQL时,它会询问根用户密码。用户可以使用与Ubuntu相同的登录密码。安装MySQL后,可通过运行脚本对其进行配置以获得更好的安全性:
    mysql_secure_installation
    要得到简单和标准的安全设置,读者可以按Y,然后按ENTER,以接收所有问题的默认值。
    2.Slackware Linux
    Slackware Linux预装了MySQL,但仍然需要配置。否则,Slackware会在MySQL数据库启动时显示一条错误信息、
    三、使用MySQL
    假设MySQL服务器已经设置好并在Ubuntu或Slackware Linux机器上运行。MySQL服务器必须设置为支持不同的用户。为简单起见,我们将只假定根用户。为了使用MySQL,用户必须运行一个MySQL客户机来连接到服务器。MySQL支持来自远程IP主机的客户机连接。
    1.连接到MySQL服务器
    使用MySQL的第一步是 运行MySQL客户机程序。从X-window终端输入MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器。
    mysql -u root -p
    Enter password:
    mysql>
    连接到MySQL服务器后,即可访问MySQL shell,如mysql>提示符所示。MySQL shell类似于普通的shell。它会显示一个mysql>提示符,要求用户输入可供MySQL服务器执行的SQL命令。与普通sh类似,它还维护一个命令历史记录,允许用户通过箭头键回忆和修改先前的命令。然而,它只接受MYSQL命令或MYSQL脚本,而不接受普通sh命令。在输入MySQL命令时,读者要注意以下几点。
    ·所有的MySQL命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语(按下ENTER键盘)。MySQL将会通过->符号继续提示更多的输入,直到它看到一个结束分号。
    ·MySQL命令行不区分大小写。虽然不是强制要求,但为了清楚和更容易识别,通常使用大写编写MySQL命令,使用小写编写数据库、表、用户名或文本。
    2.显示数据库
    SHOW DATABASES命令可显示MySQL中的当前数据库。
    3.新建数据库
    如果数据库dbname还不存在,那么CREATE DATABASE dbname命令将创建一个名为dbname的新数据库。如果数据库已经存在,则可以使用可选的IF NOT EXISTS子句对该命令进行限定,以避免出现错误信息。
    4.删除数据库
    DROP DATABASE dbname会删除已存在的命名数据库。该命令可以用一个可选的IFEXISTS子句限定。注意,DROP操作是不可逆的。一旦数据库被删除,就无法撤销或恢复。因此,须谨慎使用。
    5.选择数据库
    假设MySQL已经有几个数据库。为了操作特定的数据库,用户必须通过USE dbname命令选择一个数据库。
    6.创建表
    主键是一个列或一组列,可用于唯一地标识行。在默认情况下,主键是唯一的。
    7.删除表
    DROP TABLE table_name命令可删除表。
    8.MySQL中的数据类型
    在继续之前,要了解MySQL中使用的基本数据类型,主要有三类:数字、字符串、日期和时间。我们只显示每个类别中一些常用的数据类型。
    数值类型:
    INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2字节)等。
    FLOAT:浮动指针数
    字符串类型:
    CHAR(size):固定长度字符串,长度为1~255字符。
    VARCHAR(size):可变长度字符串,但不能使用任何空格。
    TEXT:可变长度的字符串。
    日期和时间类型:
    DATE:日期格式为YYYY-MM-DD。
    TIME:以HH:MM:SS格式保存时间
    9.插入行
    要在表中添加行,可使用INSERT命名,具有语法形式:
    INSERT INTO table_name VLAUES(column Value l,column Value 2,……)
    同时,我们可以向表中插入更多的学生记录。由于通过单个命令行手动插入多个条目非常烦琐,因此我们可以创建一个包含多个插入命令行的MySQL脚本文件,并将其用作MyAQL的输入源文件。
    10.删除行
    使用DELETE命令从表中删除行,其语法形式如下:
    DELETE FROM table_name; #delete all rows of a table
    DELETE FROM table_name WHERE condition; #delete row by condition
    11.更新表
    12.修改表
    ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
    (1)修改表名
    (2)添加列
    (3)删除行
    (4)更改/修改行
    13.关联表
    在MySQL中,使用主键-外键约束条件来定义表关系。
    一对一(1-1)关系
    一对多(1-M)关系
    多对多(M-M)关系
    自引用关系
    14.连接操作
    在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。
    ·(INTER)JOIN table1,table2:检索两个表中共有的项。
    ·LEFT JOIN table 1,table 2:检索表1中项以及两个表中共有的项。
    15.MySQL数据库关系图
    16.MySQL脚本

  • 相关阅读:
    面试-23种设计模式
    面试-类和对象的区别
    面试-链表和数组的区别
    Python强制抛出自定义异常
    Python中模拟C# Linq的一些操作
    python随机数seed用法
    Python目录常用操作
    Unity编辑器下获取动画的根运动状态并修改
    python字符串操作,以及对应的C#实现
    测试-一个unity的编译bug,初始化器
  • 原文地址:https://www.cnblogs.com/lxhs/p/15677675.html
Copyright © 2011-2022 走看看