Article Outline
MySQLの操作
ログイン
sudo mysql -u root -p
データベースの確認
show databases;
データベースの作成
CREATE DATABASE fruits;
使用するデータベースの洗濯
use fruits;
テーブルの確認
show tables;
テーブルの作成
create table teams(fruit VARCHAR(10), grp VARCHAR(1));
データ型
- INT 整数型 125
- FLOAT 浮動小数点数型 13.234
- VARCHAR 可変長文字列 'test'
- DATE 日付 '2019-11-11'
属性の修正
ALTER TABLE テーブル名 CHANGE 旧属性名 親属性名 新データ型;
ALTER TABLE テーブル名 MODIFY 属性名 新データ型;
ALTER TABLE テーブル名 ADD 属性名 データ型;
ALTER TABLE テーブル名 ADD 属性名 データ型 AFTER 属性名;
ALTER TABLE テーブル名 DROP 属性名;
テーブルにタプルを挿入
INSERT INTO teams VALUES('banana', 'A');
タプルの確認
SELECT * FROM teams;
タプルの削除
DELETE FROM teams WHERE fruit='banana';
タプルの更新
UPDATE teams SET fruit='melon' WHERE fruit='banana';
終了時
quit;
データーの抽出
SELECT fruit from teams;
SELECT fruit,grp from teams;
演算
SELECT CONCAT(fruit,grp) from teams;
条件の付与
SELECT * from teams WHERE fruit='banana';
含まれてる文字 %は任意の文字列
... WHERE fruit LIKE "%m%";
_は任意の一文字
... WHERE fruit LIKE "_a_a_a";
OR演算
... WHERE 〇〇 OR 〇〇;
... WHERE 〇〇 AND 〇〇;
結果の結合
SELECT 〇〇 UNITON SELECT 〇〇;
rootにパスワードを設定
ALTER USER 'root'@'localhost' identified WITH mysql_native_password BY 'r00t@ROOT';
ユーザーの作成
CREATE USER www identified by 'www@WWW123';
権限を与える
GRANT ALL ON fruits.* TO www;
ip
sudo vi /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: true
version: 2
sudo netplan apply
ip addr
apache
sudo apt update
sudo apt install apache2
sudo apt install -y php7.4 libapache2-mod-php7.4
php
<?php
phpinfo();
?>
dbtest.php
<?php
try {
$dbh = new PDO(
'mysql:host=localhost;dbname=fruits',
'www',
'www@WWW123'
);
$res = $dbh->query('SELECT * FROM teams');
foreach($res as $team) {
echo $team, "<BR>";
}
$res = null;
$dbh = null;
} catch (PDOException $e) {
print $e->getMessage();
}
?>
login.php
<?php
if (!isset($_POST['user']) or !isset($_POST['newpw'])) {
print("Please input username and password");
} else {
$dbname = 'website';
$dbhost = 'localhost';
$dbuser = 'www';
$dbpass = 'www@WWW123';
$dsn = "mysql:dbname=${dbname};host=${dbhost};";
$dbh = new PDO($dsn, $dbuser, $dbpass);
$user = $_POST['user'];
$pass = $_POST['pass'];
$sql = "select * from users where USER='$user' AND PASS='$pass'";
$hit_user = $dbh->query($sql);
if ($hit_user->rowCount() == 0) {
print('login failed');
include("login.html");
} else {
$userinfo = $hit_user->fetch(PDO:FETCH_NUM);
print("<div>Logged in as $userinfo[0]</div>");
include("oldpw.html");
}
}
?>
chgpw.php
<?php
if (isset($_POST['user']) and isset($_POST['newpw'])) {
$dbname = 'website';
$dbhost = 'localhost';
$dbuser = 'www';
$dbpass = 'www@WWW123';
$dsn = "mysql:dbname=${dbname};host=${dbhost};";
$dbh = new PDO($dsn, $dbuser, $dbpass);
$user = $_POST['user'];
$pass = $_POST['newpw'];
$sql = "UPDATE users SET PASS='$pass' WHERE USER '$user'";
$dbh->query($sql);
}
header('Location: ./login.html');
>