百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

数据库MYSQL学习笔记(mysql数据库实用教程)

toyiye 2024-07-02 03:05 19 浏览 0 评论

1.安装 MySQL

$ sudo apt-get install mysql-server python-mysqldb

2.测试MySQL

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

-> ON TUTORIALS.*

-> TO 'root'@'localhost'

-> IDENTIFIED BY '123456';

select host,user,password from mysql.user;

+-----------+------+-------------------------------------------+

| host | user | password |

+-----------+------+-------------------------------------------+

| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| localhost | fule | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+-----------+------+-------------------------------------------+

$ sudo mysql -u root -p

Enter password:123456

SHOW DATABASES;

3 .MySQL 创建数据库

CREATE DATABASE 数据库名;

4. MySQL 删除数据库

drop database <数据库名>;

5. MySQL 选择数据库

use 数据库名;

6. MySQL 创建数据表

CREATE TABLE table_name (column_name column_type);

例:

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:

CREATE TABLE IF NOT EXISTS `runoob_tbl`(

`runoob_id` INT UNSIGNED AUTO_INCREMENT,

`runoob_title` VARCHAR(100) NOT NULL,

`runoob_author` VARCHAR(40) NOT NULL,

`submission_date` DATE,

PRIMARY KEY ( `runoob_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

7.MySQL 删除数据表

DROP TABLE table_name ;

8.MySQL 插入数据

INSERT INTO table_name ( field1, field2,...fieldN )

VALUES

( value1, value2,...valueN );

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

例:

root@host# mysql -u root -p password;

Enter password:*******

mysql> use RUNOOB;

Database changed

mysql> INSERT INTO runoob_tbl

-> (runoob_title, runoob_author, submission_date)

-> VALUES

-> ("学习 PHP", "菜鸟教程", NOW());

Query OK, 1 rows affected, 1 warnings (0.01 sec)

mysql> INSERT INTO runoob_tbl

-> (runoob_title, runoob_author, submission_date)

-> VALUES

-> ("学习 MySQL", "菜鸟教程", NOW());

Query OK, 1 rows affected, 1 warnings (0.01 sec)

mysql> INSERT INTO runoob_tbl

-> (runoob_title, runoob_author, submission_date)

-> VALUES

-> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');

Query OK, 1 rows affected (0.00 sec)

mysql>

9.MySQL 查询数据

SELECT column_name,column_name

FROM table_name

[WHERE Clause]

[LIMIT N][ OFFSET M]

例:

读取数据表:

select * from runoob_tbl;

10. MySQL WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

SELECT field1, field2,...fieldN FROM table_name1, table_name2...

[WHERE condition1 [AND [OR]] condition2.....

例:

SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

11.MySQL UPDATE 查询

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。.

UPDATE table_name SET field1=new-value1, field2=new-value2

[WHERE Clause]

例:

mysql> UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;

Query OK, 1 rows affected (0.01 sec)

mysql> SELECT * from runoob_tbl WHERE runoob_id=3;

+-----------+--------------+---------------+-----------------+

| runoob_id | runoob_title | runoob_author | submission_date |

+-----------+--------------+---------------+-----------------+

| 3 | 学习 C++ | RUNOOB.COM | 2016-05-06 |

+-----------+--------------+---------------+-----------------+

1 rows in set (0.01 sec)

从结果上看,runoob_id 为 3 的 runoob_title 已被修改。

12.MySQL DELETE 语句

你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。

DELETE FROM table_name [WHERE Clause]

例:

mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;

Query OK, 1 row affected (0.23 sec)

13.MySQL LIKE 子句

SQL LIKE 子句中使用百分号 %字符来表示任意字符

SELECT field1, field2,...fieldN

FROM table_name

WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'

例:

mysql> use RUNOOB;

Database changed

mysql> SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';

+-----------+---------------+---------------+-----------------+

| runoob_id | runoob_title | runoob_author | submission_date |

+-----------+---------------+---------------+-----------------+

| 3 | 学习 Java | RUNOOB.COM | 2015-05-01 |

| 4 | 学习 Python | RUNOOB.COM | 2016-03-06 |

+-----------+---------------+---------------+-----------------+

2 rows in set (0.01 sec)

14. .MySQL ALTER命令

当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。

删除,添加或修改表字段

ALTER TABLE testalter_tbl DROP i;

ADD 子句来向数据表中添加列

ALTER TABLE testalter_tbl ADD i INT;

如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

15. MySQL 导出数据

mysql> SELECT * FROM runoob_tbl

-> INTO OUTFILE '/tmp/runoob.txt'

16.PHP连接mysql

PHP 提供了 mysqli_connect() 函数来连接数据库。

该函数有 6 个参数,在成功链接到 MySQL 后返回连接标识,失败返回 FALSE 。

语法

mysqli_connect(host,username,password,dbname,port,socket);

参数说明:

参数描述

host可选。规定主机名或 IP 地址。

username可选。规定 MySQL 用户名。

password可选。规定 MySQL 密码。

dbname可选。规定默认使用的数据库。

port可选。规定尝试连接到 MySQL 服务器的端口号。

socket可选。规定 socket 或要使用的已命名 pipe。

你可以使用PHP的 mysqli_close() 函数来断开与MySQL数据库的链接。

该函数只有一个参数为 mysqli_connect() 函数创建连接成功后返回的 MySQL 连接标识符。

语法

bool mysqli_close ( mysqli $link )

本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。

<?php

$dbhost = 'localhost'; // mysql服务器主机地址

$dbuser = '****'; // mysql用户名

$dbpass = '123456'; // mysql用户名密码

$conn = mysqli_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('Could not connect: ' . mysqli_error());

}

echo '数据库连接成功!';

mysqli_close($conn);

?>

17.使用 PHP脚本 创建数据库

PHP 使用 mysqli_query 函数来创建或者删除 MySQL 数据库。

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

语法

mysqli_query(connection,query,resultmode);

参数描述

connection必需。规定要使用的 MySQL 连接。

query必需,规定查询字符串。

resultmode

可选。一个常量。可以是下列值中的任意一个:

MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)

MYSQLI_STORE_RESULT(默认)

<?php

......

echo '连接成功<br />';

$sql = 'CREATE DATABASE RUNOOB';

$retval = mysqli_query($conn,$sql );

if(! $retval )

{

die('创建数据库失败: ' . mysqli_error($conn));

}

echo "数据库 RUNOOB 创建成功\n";

mysqli_close($conn);

?>

18.使用PHP脚本删除数据库

PHP使用 mysqli_query 函数来创建或者删除 MySQL 数据库。

<?php

......

echo '连接成功<br />';

$sql = 'DROP DATABASE RUNOOB';

$retval = mysqli_query($conn,$sql );

if(! $retval )

{

die('删除数据库失败: ' . mysqli_error($conn));

}

echo "数据库 RUNOOB 删除成功\n";

mysqli_close($conn);

?>

19.使用PHP脚本选择MySQL数据库

PHP 提供了函数 mysqli_select_db 来选取一个数据库。函数在执行成功后返回 TRUE ,否则返回 FALSE 。

语法

mysqli_select_db(connection,dbname);

参数描述

connection必需。规定要使用的 MySQL 连接。

dbname必需,规定要使用的默认数据库。

<?php

......

echo '连接成功';

mysqli_select_db($conn, 'RUNOOB' );

mysqli_close($conn);

?>

20.使用PHP脚本创建数据表

你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。

<?php

......

echo '连接成功<br />';

$sql = "CREATE TABLE runoob_tb2( ".

"runoob_id INT NOT NULL AUTO_INCREMENT, ".

"runoob_title VARCHAR(100) NOT NULL, ".

"runoob_author VARCHAR(40) NOT NULL, ".

"submission_date DATE, ".

"PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('数据表创建失败: ' . mysqli_error($conn));

}

echo "数据表创建成功\n";

mysqli_close($conn);

?>

21.使用PHP脚本删除数据表

PHP使用 mysqli_query 函数来删除 MySQL 数据表。

<?php

......

echo '连接成功<br />';

$sql = "DROP TABLE runoob_tb2";

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('数据表删除失败: ' . mysqli_error($conn));

}

echo "数据表删除成功\n";

mysqli_close($conn);

?>

22.使用PHP脚本插入数据

你可以使用PHP 的 mysqli_query() 函数来执行 SQL INSERT INTO命令来插入数据。

<?php

......

echo '连接成功<br />';

// 设置编码,防止中文乱码

mysqli_query($conn , "set names utf8");

$runoob_title = '学习 Python';

$runoob_author = 'RUNOOB.COM';

$submission_date = '2016-03-06';

$sql = "INSERT INTO runoob_tbl ".

"(runoob_title,runoob_author, submission_date) ".

"VALUES ".

"('$runoob_title','$runoob_author','$submission_date')";

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法插入数据: ' . mysqli_error($conn));

}

echo "数据插入成功\n";

mysqli_close($conn);

?>

23.使用PHP脚本来获取数据

使用 PHP 函数的 mysqli_query() 及 SQL SELECT 命令来获取数据。

该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来使用或输出所有查询的数据。

mysqli_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

<?php

......

// 设置编码,防止中文乱码

mysqli_query($conn , "set names utf8");

$sql = 'select * from runoob_tbl';

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法读取数据: ' . mysqli_error($conn));

}

echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>';

echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';

while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))

{

echo "<tr><td> {$row['runoob_id']}</td> ".

"<td>{$row['runoob_title']} </td> ".

"<td>{$row['runoob_author']} </td> ".

"<td>{$row['submission_date']} </td> ".

"</tr>";

}

echo '</table>';

mysqli_close($conn);

?>

以上实例中,读取的每行记录赋值给变量 $row,然后再打印出每个值。

注意:记住如果你需要在字符串中使用变量,请将变量置于花括号。

PHP 提供了另外一个函数 mysqli_fetch_assoc(), 该函数从结果集中取得一行作为关联数组。 返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。

<?php

.....

echo '<h2>菜鸟教程 mysqli_fetch_assoc 测试<h2>';

echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';

while($row = mysqli_fetch_assoc($retval))

{

echo "<tr><td> {$row['runoob_id']}</td> ".

"<td>{$row['runoob_title']} </td> ".

"<td>{$row['runoob_author']} </td> ".

"<td>{$row['submission_date']} </td> ".

"</tr>";

}

echo '</table>';

mysqli_close($conn);

?>

你也可以使用常量 MYSQLI_NUM 作为 PHP mysqli_fetch_array() 函数的第二个参数,返回数字数组。

<?php

......

echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>';

echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';

while($row = mysqli_fetch_array($retval, MYSQLI_NUM))

{

echo "<tr><td> {$row[0]}</td> ".

"<td>{$row[1]} </td> ".

"<td>{$row[2]} </td> ".

"<td>{$row[3]} </td> ".

"</tr>";

}

echo '</table>';

mysqli_close($conn);

?>

在我们执行完 SELECT 语句后,释放游标内存是一个很好的习惯。

可以通过 PHP 函数 mysqli_free_result() 来实现内存的释放

<?php

......

// 释放内存

mysqli_free_result($retval);

mysqli_close($conn);

?>

24.SQL SELECT 带上 WHERE 子句

使用 PHP 函数的 mysqli_query() 及相同的 SQL SELECT 带上 WHERE 子句的命令来获取数据。

该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。

以下实例将从 runoob_tbl 表中返回使用 runoob_author 字段值为 RUNOOB.COM 的记录:

<?php

......

// 读取 runoob_author 为 RUNOOB.COM 的数据

$sql = 'SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl

WHERE runoob_author="RUNOOB.COM"';

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法读取数据: ' . mysqli_error($conn));

}

echo '<h2>菜鸟教程 MySQL WHERE 子句测试<h2>';

......

mysqli_close($conn);

?>

25.MySQL UPDATE 查询

<?php

......

mysqli_query($conn , "set names utf8");

$sql = 'UPDATE runoob_tbl

SET runoob_title="学习 Python2"

WHERE runoob_id=2';

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法更新数据: ' . mysqli_error($conn));

}

echo '数据更新成功!';

mysqli_close($conn);

?>

26.使用 PHP 脚本删除数据

PHP使用 mysqli_query() 函数来执行SQL语句, 你可以在 SQL DELETE 命令中使用或不使用 WHERE 子句。

该函数与 mysql> 命令符执行SQL命令的效果是一样的。

<?php

......

mysqli_query($conn , "set names utf8");

$sql = 'DELETE FROM runoob_tbl

WHERE runoob_id=2';

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法删除数据: ' . mysqli_error($conn));

}

echo '数据删除成功!';

mysqli_close($conn);

?>

27. WHERE...LIKE 子句的命令来获取数据

该函数用于执行 SQL 命令,然后通过 PHP 函数 mysqli_fetch_array() 来输出所有查询的数据。

但是如果是 DELETE 或者 UPDATE 中使用 WHERE...LIKE 子句的S QL 语句,则无需使用 mysqli_fetch_array() 函数。

<?php

......

mysqli_query($conn , "set names utf8");

$sql = 'SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl

WHERE runoob_author LIKE "%COM"';

mysqli_select_db( $conn, 'RUNOOB' );

$retval = mysqli_query( $conn, $sql );

if(! $retval )

{

die('无法读取数据: ' . mysqli_error($conn));

}

echo '<h2>菜鸟教程 mysqli_fetch_array 测试<h2>';

......

mysqli_close($conn);

?>

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码