MySQL入门笔记

目录

1、MySQL 简介

 2、MySQL 安装

3、MySQL 管理

4、MySQL 创建数据库

5、MySQL 删除数据库

6、MySQL 选择数据库

7、MySQL 创建数据表

8、MySQL 删除数据表

9、MySQL 插入数据

10、MySQL 查询数据


1、MySQL 简介

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

Mysql数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL是开源的,所以你不需要支付额外的费用。
  • MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL使用标准的SQL数据语言形式。
  • MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
  • MySQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
  • MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统。

 2、MySQL 安装

MySQL 安装

所有平台的Mysql下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。

Windows安装MySQL教程

Linux安装MySQL教程

3、MySQL 管理

启动及关闭 MySQL 服务器

首先,我们需要通过以下命令来检查MySQL服务器是否启动:

ps -ef | grep mysqld

如果MySQL已经启动,以上命令将输出MySQL进程列表, 如果MySQL未启动,你可以使用以下命令来启动MySQL服务器:

root@host# cd /usr/bin
./safe_mysqld &

如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

MySQL 用户设置

如果你需要添加 MySQL 用户,你只需要在 MySQL 数据库中的 user 表添加新用户即可。

以下为添加用户的的实例,通过SQL的 GRANT 命令,以下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。用户名为guest,密码为guest123。

root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';

以上命令会在MySQL数据库中的user表创建一条用户信息记录。

注意: MySQL 的SQL语句以分号 (;) 作为结束标识。

管理MySQL的命令

以下列出了使用MySQL数据库过程中常用的命令:

  • SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。
mysql>show databases
  • USE 数据库名 :选择要操作的MySQL数据库,使用该命令后所有MySQL命令都只针对该数据库。
mysql>use information_schema;

4、MySQL 创建数据库

使用 mysqladmin 创建数据库

使用普通用户,你可能需要特定的权限来创建或者删除 MySQL 数据库。

所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。

实例

以下命令简单的演示了创建数据库的过程,数据名为 W3CSCHOOL:

[root@host]# mysqladmin -u root -p create W3CSCHOOL
Enter password:******

以上命令执行成功后会创建 MySQL 数据库 W3CSCHOOL。

5、MySQL 删除数据库

使用 mysqladmin 删除数据库

使用普通用户登陆MySQL服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。

所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 MySQL mysqladmin 命令来删除数据库。

在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。

以下实例删除数据库TUTORIALS(该数据库在前一章节已创建):

[root@host]# mysqladmin -u root -p drop W3CSCHOOL
Enter password:******

执行以上删除数据库命令后,会出现一个提示框,来确认是否真的删除数据库:

6、MySQL 选择数据库

在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。

从命令提示窗口中选择MySQL数据库

在 mysql> 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。

实例

以下实例选取了数据库 W3CSCHOOL:

[root@host]# mysql -u root -p
Enter password:******
mysql> use W3CSCHOOL;
Database changed
mysql>

7、MySQL 创建数据表

创建MySQL数据表需要以下信息:

  • 表名
  • 表字段名
  • 定义每个表字段

语法

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

通过命令提示符创建表

通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。

实例

以下为创建数据表 w3cschool_tbl 实例:

root@host# mysql -u root -p
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> CREATE TABLE w3cschool_tbl(
   -> w3cschool_id INT NOT NULL AUTO_INCREMENT,
   -> w3cschool_title VARCHAR(100) NOT NULL,
   -> w3cschool_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( w3cschool_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
mysql>

注意:MySQL命令终止符为分号 (;) 。

8、MySQL 删除数据表

MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。

语法

以下为删除MySQL数据表的通用语法:

DROP TABLE table_name ;

在命令提示窗口中删除数据表

在mysql>命令提示窗口中删除数据表SQL语句为 DROP TABLE 

实例

以下实例删除了数据表w3cschool_tbl:

root@host# mysql -u root -p
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> DROP TABLE w3cschool_tbl
Query OK, 0 rows affected (0.8 sec)
mysql>

9、MySQL 插入数据

MySQL 表中使用 INSERT INTO SQL语句来插入数据。

你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。

语法

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"。

通过命令提示窗口插入数据

以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 w3cschool_tbl 插入数据

实例

以下实例中我们将想 w3cschool_tbl 表插入三条数据:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> INSERT INTO w3cschool_tbl 
     ->(w3cschool_title, w3cschool_author, submission_date)
     ->VALUES
     ->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO w3cschool_tbl
     ->(w3cschool_title, w3cschool_author, submission_date)
     ->VALUES
     ->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO w3cschool_tbl
     ->(w3cschool_title, w3cschool_author, submission_date)
     ->VALUES
     ->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>

注意: 使用箭头标记(->)不是SQL语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;)。

在以上实例中,我们并没有提供 w3cschool_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。

10、MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。

你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。

语法

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
  • 你可以使用 LIMIT 属性来设定返回的记录数。

通过命令提示符获取数据

以下实例我们将通过 SQL SELECT 命令来获取 MySQL 数据表 w3cschool_tbl 的数据:

实例

以下实例将返回数据表w3cschool_tbl的所有记录:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> SELECT * from w3cschool_tbl; 
+-------------+----------------+-----------------+-----------------+
| w3cschool_id | w3cschool_title | w3cschool_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           1 | Learn PHP      | John Poul       | 2007-05-21      |
|           2 | Learn MySQL    | Abdul S         | 2007-05-21      |
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)

mysql>

猜你喜欢

转载自blog.csdn.net/qq_32607273/article/details/81606497