MySQLの簡単な説明

MySQL

  • MySQLはデータベースの名前です
  • PHPで動作するより良いデータベース
  • フロントエンドはバックエンドからのデータを要求し、バックエンドはデータベース内のデータを照会してフロントエンドに返します
  • 次に、PHPを使用してデータベースを操作する方法について説明します。
MySQL 是最流行的关系型数据库管理系统(非关系型数据库简略介绍)
关系数据库管理系统(Relational Database Management System)的特点
1.数据以表格的形式出现
2.每行为各种记录名称
3.许多的行和列组成一张表单
4.若干的表单组成database
5.主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

データベースのデータ型

  • 数値型
の種類 サイズ 説明
tinyint 1バイト 小さい整数値
smallint 2バイト 大きな整数値
ミディアムイント 3バイト 大きな整数値
intまたはinteger 4バイト 大きな整数値
bigint 8バイト 非常に大きな整数値
浮く 4バイト 単精度浮動小数点値
ダブル 8バイト 倍精度浮動小数点値
10進数 10進値
  • 日付と時刻のタイプ
の種類 フォーマット 説明
日付(日付) YYYY-MM-DD 日付値
TIME(時間) HH:MM:SS 時間値または期間
年(年) YYYY 年の値
DATETIME(日時) YYYY-MM-DD HH:MM:SS 日付と時刻の混合値
タイムスタンプ(タイムスタンプ) YYYYMMDD HHMMSS タイムスタンプ
  • 文字列型
の種類 サイズ 説明
CHAR(char) 0〜255バイト 固定長文字列
VARCHAR(varchar) 0〜65535バイト 可変長文字列
TINYBLOB(tinyblob) 0〜255バイト 255文字以下のバイナリ文字列
TINYTEXT(tinytext) 0〜255バイト 短いテキスト文字列
BLOB(blob) 0-65535バイト バイナリ形式の長いテキストデータ
TEXT(テキスト) 0-65535バイト 長いテキストデータ
MEDIUMBLOB(ミディアムブロブ) 0-16 777215バイト バイナリ形式の中程度の長さのテキストデータ
MEDIUMTEXT(ミディアムテキスト) 0-16 777215バイト 中程度の長さのテキストデータ
LONGBLOB(longblob) 0-4 294 967295バイト バイナリ形式の非常に大きなテキストデータ
LONGTEXT(ロングテキスト) 0-4 294 967295バイト 非常に大きなテキストデータ

PHPオペレーティングデータベース

  • 以前は、データベースを簡単に理解するだけでした。すべてを覚える必要はなく、理解するだけです。
  • 次に、phpを使用してmysqlデータベースにリンクし、データを追加、削除、変更、およびチェックします。
  • データベースを操作するには、php構文に加えて、mysqlsqlステートメントも必要です。
  • phpを使用してデータベースを操作する手順
    1. データベースとのリンクを確立する
    2. SQLステートメントを使用してデータベースを操作します
    3. 結果を得る
    4. データベースへのリンクが壊れています

データベースとのリンクを確立する

  • php5構文:
    • mysql_connect('ip地址','数据库用户名','数据库密码')
    • mysql_select_db('你要操作的小仓库名称')
  • php7構文:
    • mysqli_connect('ip地址','数据库用户名','数据库密码','你要操作的小仓库名称')
<?php
	$link = mysqli_connect('127.0.0.1','root','root','student');
?>
-我们有了链接信息`$link`以后就可以继续操作数据库了

SQLステートメントを実行する

  • php5構文:

    • mysql_query('你要执行的sql语法',连接信息)
  • php7構文:

    • mysqli_query(连接信息,'你要执行的sql语法')
<?php
	
	# 避免中文乱码
	mysqli_query($link,"set names utf8");
	# 下面就是使用SQL语句对数据库进行操作
	$res = mysqli_query($link,"SELECT * FROM student");
?>

分析データ

  • php5構文:
    • 解析本行数据:mysqli_fetch_assoc(要解析的数据);
    • 没有解析全部结果的方法
  • php7構文:
    • 解析本行数据:mysqli_fetch_assoc(要解析的数据);
    • 解析所有数据:mysqli_fetch_all(要解析的数据,MYSQLI_ASSOC);
<?php
	# 解析所有行的数据
	$arr = mysqli_fetch_all($res,MYSQLI_ASSOC);
	# 转json查看获取到的结果
	print_r(json_encode($arr));
?>

リンクを閉じる

  • すべてが使い果たされた後、データベースリンクを閉じる方がよいでしょう

  • php5構文:

    • mysql_close(链接信息);
  • php7構文:

    • mysqli_close(链接信息);
<?php
	mysqli_close($link);
?>

完全な手順

  • 操作の完全なステップを書いてみましょう
<?php
	$link = mysqli_connect('127.0.0.1','root','root','student');
	mysqli_query($link,"set names utf8");
	$res = mysqli_query($link,"SELECT * FROM student");
	$arr = mysqli_fetch_all($res,MYSQLI_ASSOC);
	print_r(json_encode($arr));
	mysqli_close($link);
?>

一般的に使用されるSQLステートメント

  • データベースの操作方法を言ったばかりです
  • ここで、データベースの操作時に一般的に使用されるSQLステートメントについて学習します。
  • データベース操作はこれらのSQLステートメントに依存しています

文章を確認する

<?php
  # 查询 student 这个表里面的所有数据
  $sql = 'SELECT * FROM `student`';
    
  # 查询 student 表中的数据里面 gender 为 男 的数据
  $sql = 'SELECT * FROM `student` WHERE `gender`="男"';
    
  # 查询 student 表中的数据里面 age 大于 18 的数据
  $sql = 'SELECT * FROM `student` WHERE `age`>18';
    
  # 查询 student 表中的数据里面 age 大于 18 且 gender 为 男 的数据
  $sql = 'SELECT * FROM `student` WHERE `age`>18 AND `gender`="男"';

  # 查询 student 表中的数据里面 age 小于 22 或者 age 大于 28 的数据
  $sql = 'SELECT * FROM `student` WHERE `age`<22 OR `age`>28';

  # 查询 student 表中的数据里面从 第几条开始 查询多少条
  $sql = 'SELECT * FROM `student` LIMIT 0, 10';
    
  # 先按照条件筛选出数据以后再进行分页查询
  # 下面是查询表中所有 age>18 且 性别为男的所有数据,查出来以后从第 10 条开始查 10 条
  $sql = 'SELECT * FROM `student` WHERE `age`>18 AND `gender`="男" LIMIT 10, 10';

  # 查询表的模糊查询
  # 下面表示查询表中所有数据里面 name 字段中包含 "三" 字的数据
  $sql = 'SELECT * FROM `student` WHERE `name` LIKE "%三%"';

  # 查询排序,查询的时候按照某一个字段升序或降序排序
  $sql = 'SELECT * FROM `student` ORDER BY `age` ASC';
  $sql = 'SELECT * FROM `student` ORDER BY `age` DESC';
?>

文を追加する

<?php
  # 向表中增加一条数据,再增加的时候主键不能由我们书写,而是 mysql 数据库自己递增
  $sql = 'INSERT INTO `student` VALUES(null, "张三", 18, "男", 1913, 100)';
    
  # 插入固定几个键的数据,其他的用默认值
  $sql = 'INSERT INTO `student` (`name`, `age`) VALUES("李四", 22)';
?>

ステートメントを削除する

<?php
  # 删除表中 id 为 100 的数据
  $sql = 'DELETE FROM `student` WHERE `id`=100';

  # 删除表中 name 为 张三 的数据
  $sql = 'DELETE FROM `student` WHERE `name`="张三"'
?>

ステートメントを変更する

<?php
  # 更新一条 id 为 100 的数据中的 name 字段的值和 age 字段的值
  $sql = 'UPDATE `student` SET `name`="张三", `age`=10 WHERE `id`=100'
    
  # 更新数据的时候让所有的数据增加一些内容
  $sql = 'UPDATE `student` SET `age`=age+1'
?>

おすすめ

転載: blog.csdn.net/qq_45677671/article/details/113757252