PHP的MySQL扩展:MySQL数据库概述_MySQL
一、SQL:结构化查询语言
SQL(Structured Query Language)是高级的非过程化变成语言,专门用于查询和修改数据库的信息以及对数据库进行管理和维护的标准语言。SQL语言结构简单,功能强大,得到了众多DBMS的支持。
SQL分为四个部分:
数据定义语言(DDL):用于定义和管理数据对象,包括数据库、数据表等。如create/drop/alter等
数据操作语言(DML):操作数据库对象中包含的数据,如insert/update/delete等
数据查询语言(DQL):查询数据库对象中包含的数据,并返回数据结果,如select
数据控制语言(DCL):管理数据库对象,包括权限管理和数据更改,如grant/revoke/commit/rollback等
二、MySQL的常见操作
1、连接和关闭:mysql –h 【服务器主机地址】-u 用户名 –p 用户密码 quit和exit用于关闭连接
2、创建用户和授权:GRANT 权限 ON 数据库.数据表 TO 用户名@登陆主机 IDENTIFIED BY “密码”
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//添加新用户,名为phper 密码dwqs,在任何主机登陆,对所有数据库拥有查询、插入、修改、删除权限</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//创建用户前,先以root用户登陆</span></span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO phper<span style="color: rgb(0, 96, 128);">@"%"</span> IDENTIFIED BY <span style="color: rgb(0, 96, 128);">"dwqs"</span></span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> </span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//只对mydb数据库创建用户并授权</span></span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO phper@localhost IDENTIFIED BY <span style="color: rgb(0, 96, 128);">"dwqs"</span></span>
3、数据库操作
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//创建名为test的数据库</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> create database [<span style="color: rgb(0, 0, 255);">if</span> not exists] test;</span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//删除test</span></span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> drop database [<span style="color: rgb(0, 0, 255);">if</span> exists] test</span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//显示数据库列表</span></span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> show databases</span>
<span id="lnum7" style="font-size: 14px; color: rgb(96, 96, 96);"> 7:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//使用test数据库</span></span>
<span id="lnum8" style="font-size: 14px; color: rgb(96, 96, 96);"> 8:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 0, 255);">use</span> test</span>
4、数据表操作
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//在test中创建一个表,表名是dwqs</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> create table dwqs </span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> </span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> id <span style="color: rgb(0, 0, 255);">int</span> not <span style="color: rgb(0, 0, 255);">null</span> auto_increment,</span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> name varchar(20) not <span style="color: rgb(0, 0, 255);">null</span> <span style="color: rgb(0, 0, 255);">default</span> <span style="color: rgb(0, 96, 128);">''</span>,</span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> site varchar(20) not <span style="color: rgb(0, 0, 255);">null</span> <span style="color: rgb(0, 0, 255);">default</span> <span style="color: rgb(0, 96, 128);">'www.ido321.com,</span></span>
<span id="lnum7" style="font-size: 14px; color: rgb(96, 96, 96);"> 7:</span><span style="font-size: 14px;"> email varchar(15) not null default ''</span>
<span id="lnum8" style="font-size: 14px; color: rgb(96, 96, 96);"> 8:</span><span style="font-size: 14px;"> ></span>
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//查看在test数据库的中表</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> show tables</span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//查看dwqs表的结构</span></span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> desc dwqs 或 description dwqs</span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//删除dwqs表</span></span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> drop table dwqs</span>
5、数据表的内容管理
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//插入记录</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> insert [into] 表名 [(字段名1),(字段名2),...,(字段名n)] values (<span style="color: rgb(0, 96, 128);">'值1'</span>,<span style="color: rgb(0, 96, 128);">'值2'</span>,...,<span style="color: rgb(0, 96, 128);">'值n'</span>)</span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//更新记录</span></span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> update 表名 set 字段名1=表达式1[,字段名2=表达式2,...,字段名n=表达式n]</span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> [where 条件] [order by 字段] [limit 行数]</span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//删除记录</span></span>
<span id="lnum7" style="font-size: 14px; color: rgb(96, 96, 96);"> 7:</span><span style="font-size: 14px;"> delete from 表名 [where 条件] [order by 字段] [limit 行数]</span>
<span id="lnum8" style="font-size: 14px; color: rgb(96, 96, 96);"> 8:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//查询记录</span></span>
<span id="lnum9" style="font-size: 14px; color: rgb(96, 96, 96);"> 9:</span><span style="font-size: 14px;"> select [all|distinct]</span>
<span id="lnum10" style="font-size: 14px; color: rgb(96, 96, 96);"> 10:</span><span style="font-size: 14px;"> {*|table.*|[table.]field1[AS alias1],[table.]field2[AS alias2][,...]}</span>
<span id="lnum11" style="font-size: 14px; color: rgb(96, 96, 96);"> 11:</span><span style="font-size: 14px;"> from tablaname[,...][in externaldatabase]</span>
<span id="lnum12" style="font-size: 14px; color: rgb(96, 96, 96);"> 12:</span><span style="font-size: 14px;"> [where 条件][group by 字段][having 条件][order by 字段][limit 行数]</span>
说明:在查询中,distinct用于排除重复的数据,只返回一个,默认是all。 as用于给列标记别名: 字段名 as ‘别名’,在查询的结果中,字段名以别名显示.in用于子查询,也可以使用like进行模糊查询,如 like ‘%php%’—>包含php字样的,%表示0个或任意个字符;like ‘dw_s’—>形如dwqs,dwrs等,_表示一个任意字符。group by是对查询结果分组。同时可以再select中嵌入SQL表达式或者函数,如count();
6、修改表
<span id="lnum1" style="font-size: 14px; color: rgb(96, 96, 96);"> 1:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//这个"修改"主要修改表的结构,如添加字段、修改字段属性等</span></span>
<span id="lnum2" style="font-size: 14px; color: rgb(96, 96, 96);"> 2:</span><span style="font-size: 14px;"> alter table 表名 action</span>
<span id="lnum3" style="font-size: 14px; color: rgb(96, 96, 96);"> 3:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//action的具体内容</span></span>
<span id="lnum4" style="font-size: 14px; color: rgb(96, 96, 96);"> 4:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//添加新字段</span></span>
<span id="lnum5" style="font-size: 14px; color: rgb(96, 96, 96);"> 5:</span><span style="font-size: 14px;"> alter table 表名 add 字段名 描述 [first|after 列名]</span>
<span id="lnum6" style="font-size: 14px; color: rgb(96, 96, 96);"> 6:</span><span style="font-size: 14px;"> alter table dwqs add qq <span style="color: rgb(0, 0, 255);">int</span>[14] not <span style="color: rgb(0, 0, 255);">null</span> <span style="color: rgb(0, 128, 0);">//为dwqs表添加一个qq字段,类型是整数,不为空</span></span>
<span id="lnum7" style="font-size: 14px; color: rgb(96, 96, 96);"> 7:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//修改字段</span></span>
<span id="lnum8" style="font-size: 14px; color: rgb(96, 96, 96);"> 8:</span><span style="font-size: 14px;"> alter table 表名 change(modify) 列表 描述</span>
<span id="lnum9" style="font-size: 14px; color: rgb(96, 96, 96);"> 9:</span><span style="font-size: 14px;"> alter table dwqs change qq qq varchar(15) <span style="color: rgb(0, 0, 255);">default</span> 0 <span style="color: rgb(0, 128, 0);">//将qq字段的类型改为varchar,默认值是0</span></span>
<span id="lnum10" style="font-size: 14px; color: rgb(96, 96, 96);"> 10:</span><span style="font-size: 14px;"> alter table dwqs modify qq varchar(15) <span style="color: rgb(0, 0, 255);">default</span> 0 <span style="color: rgb(0, 128, 0);">//将qq字段的类型改为varchar,默认值是0</span></span>
<span id="lnum11" style="font-size: 14px; color: rgb(96, 96, 96);"> 11:</span><span style="font-size: 14px;"> <span style="color: rgb(0, 128, 0);">//修改表名</span></span>
<span id="lnum12" style="font-size: 14px; color: rgb(96, 96, 96);"> 12:</span><span style="font-size: 14px;"> alter table 旧表名 rename <span style="color: rgb(0, 0, 255);">as</span> 新表名</span>
说明:[first|after 列名]表名新字段的位置,first将字段插入第一列,after 列名将字段插入到指定列名之后。未指定该值,默认在末尾添加。
modify和change的区别:change除了更改类型,还会更改列名,所有qq字段出现了两次,前一个是旧列名,后一个是新列名。而modify 没有修改列名的功能,所有qq只出现了一次

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

MySQL データベース管理システムの基本原理の分析 MySQL は、データの保存と管理に構造化照会言語 (SQL) を使用する、一般的に使用されるリレーショナル データベース管理システムです。この記事では、データベースの作成、データ テーブルの設計、データの追加、削除、変更などの操作を含む、MySQL データベース管理システムの基本原理を紹介し、具体的なコード例を示します。 1. データベースの作成 MySQL では、まずデータを保存するデータベース インスタンスを作成する必要があります。次のコードは、「my」という名前のファイルを作成できます。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。
