Category Archives: MySQL

「MySQL入門」str_to_date()で文字列からdatetime型にするコマンド

サンプル:
SELECT
str_to_date(
concat (left(date_str,10) , right(date_str,10)),
‘%Y/%m/%d %H:%i:%s’ ) as cft FROM xxx;

MySQLにユーザー作成、権限設定のメモ

操作手順
#create user ‘testuser’@’%’ identified by ‘12345’;
#grant all privileges on *.* to ‘testuser’;
#commit;
#flush privileges;

CentOS7でMySQL完全アンインストールする

操作手順
#yum remove mysql mysql-server mysql-devel mysql-libs compat-mysql51 mysql-community-client mysql-community-libs mysql-community-server mysql-community-common mysql-community-release.noarch
#rm -rf /var/lib/mysql
#rm /etc/my.cnf
#rm -rf /var/lib/mysql/
#rm -rf /usr/lib64/mysql
#rm -rf /usr/lib/mysql
#rm -rf /usr/share/mysql
#rm –rf /usr/my.cnf
#rm -rf /root/.mysql_sercret
#chkconfig –del mysqld

#yum list installed mysql*

「MySQL入門」データベース、テーブルの権限を設定するコマンド

1.グローバル
mysql>grant select,insert,update,delete   on *.* to testuser;

2.データベース
mysql>grant select,insert,update,delete on testdb.* to testuser;

3.テーブル
mysql>grant select,insert,update,delete on testdb.test_table to testuser;

4.カラム
mysql>grant 権限 (column1, column2, …) on testdb.test_table to testuser;

「MySQL」ストアド(PROCEDURE)、カーソル(CURSOR)を使用するサンプルコード

サンプルコード:
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `cftbl`()
COMMENT ‘insert table’
BEGIN
DECLARE root INT;
DECLARE zid INT;
DECLARE done INT DEFAULT FALSE;
DECLARE rs CURSOR FOR select id,tid from demo;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN rs;
read_loop: LOOP
FETCH  NEXT from rs INTO root,zid;
IF done THEN
LEAVE read_loop;
END IF;
insert into changfatbl(rootid,zid) value(root,zid);
END LOOP;

CLOSE rs;
END;;
DELIMITER ;

「MySQL入門」RAND()でランダムなデータを作成する方法

方法1
SELECT *
FROM changfatbl AS r1 JOIN
(SELECT ROUND(RAND() *
(SELECT MAX(id)
FROM changfatbl)) AS id)
AS r2
WHERE r1.id >= r2.id
ORDER BY r1.id ASC
LIMIT 5;

方法2
SELECT t1.id
FROM producttbl AS t1 JOIN
(SELECT ROUND(RAND() *
((SELECT MAX(id) FROM itemstbl)-(SELECT MIN(id) FROM itemstbl))+
(SELECT MIN(id) FROM itemstbl)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 0,5;

LinuxにMySQL5.6をインストールするメモ

1.MySQLをチェック
#rpm -qa | grep mysql
#yum -y remove mysql-libs-5.1*

2.rpmをダウンロード
#wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm
#wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.rhel5.x86_64.rpm
#wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm

3.rpmをインストール
#rpm -ivh MySQL-server-5.6.21-1.rhel5.x86_64.rpm
#rpm -ivh MySQL-client-5.6.21-1.rhel5.x86_64.rpm
#rpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm

4.設定ファイルをコピー
#cp /usr/share/mysql/my-default.cnf /etc/my.cnf

5.MySQL初期化
#/usr/bin/mysql_install_db

6.MySQL起動をチェック
netstat -anpt | grep 3306
/etc/init.d/mysql start

7.MySQLにログイン
#mysql -uroot -pXXXX
SET PASSWORD = PASSWORD(‘123456’);

権限を設定
GRANT ALL PRIVILEGES ON *.* TO ‘wqh’@’%’ IDENTIFIED BY ‘123456’;
#flush privileges
#whereis mysql

#/etc/init.d/mysql stop 停止
アンインストール
#Rpm – e MySQL-server-5.6.21-1.rhel5.x86_64
#Rpm -e MySQL-devel-5.6.21-1.rhel5.x86_64
#Rpm -e MySQL-client-5.6.21-1.rhel5.x86_64

「PHP+MySQL」PDOでデータを更新するサンプル

1. 1つのレコードで複数のフィールドを更新
phpコード:
$sql = “UPDATE students SET age = :age, hobby = :hobby WHERE stuid = :stuid”;
$stmt = $con->prepare($sql);
$stuArr = array(‘:age’ => ’21’, ‘:hobby’ => ‘game’, ‘:stuid’ => ‘1002’);
$stmt->execute($stuArr);

2.複数のフィールドとレコードを更新
phpコード:
$sql = “UPDATE students SET age = :age, hobby = :hobby WHERE stuid = :stuid”;
$stmt = $conn->prepare($sql);
$stuArr = array(
array(‘age’=>’20’, ‘hobby’=>swim, ‘stuid’=>1003),
array(‘age’=>’21’, ‘hobby’=>game, ‘stuid’=>1002),
);

// foreachループ処理
foreach ($stuArr as $row) {
$stmt->execute(array(
‘:age’ => $row[‘age’],
‘:hobby’ => $row[‘hobby’],
‘:stuid’ => $row[‘stuid’])
);

Ubuntu で MySQLをインストールする

1.圧縮ファイルを解凍
#sudo tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#sudo mv mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

2.mysqlグループとユーザの作成
#groupadd mysql
#useradd -g mysql mysql -s /bin/false
#sudo chown -R mysql:mysql /usr/local/mysql

3.mysqlの初期化
#sudo rm -rf /etc/my.cnf
#sudo ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql

4.mysqlの権限を設定
#sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#sudo chmod +x /etc/init.d/mysql

5.mysql起動
#sudo /etc/init.d/mysql (start|stop|force-quit|restart|reload|status)

6.mysqlのパスワードを設定
#cd /usr/local/mysql/bin
#sudo ./mysqladmin -u root password root(パスワード)

7.mysql clientでDBに接続
#cd /usr/local/mysql/bin
#sudo ./mysql -u root -p

8.mysqlステータス
#sudo lsof -i:3306

9.自動起動
#sudo apt-get install sysv-rc-conf
#sudo sysv-rc-conf php-fpm on

10.外部ホストアクセスの許可
#grant all privileges on *.* to startuser@”%” identified by ‘pwdstartnews24’ with grant option;
#flush privileges;

「MySQL入門」日時の計算(加算、減算)サンプル

1.[1日前]
select subdate(“2014-09-20 18:21:05″, interval 1 day); //”2014-09-19 18:21:05”
select “2014-09-20 18:21:05” – interval 1 day;

2.[1月前]
subdate(“2014-09-20 18:21:05″, interval 1 month); //”2014-08-20 18:21:05”
select “2014-09-20 18:21:05” – interval 1 month;

3.[1日後]
select adddate(“2014-09-20 18:21:05″, interval 1 day); //”2014-09-21 18:21:05”
select “2014-09-20 18:21:05” + interval 1 day;

4.[1月後]
select adddate(“2014-09-20 18:21:05”, interval 1 month); //”2014-10-20 18:21:05″select “2014-09-20 18:21:05” + interval 1 month;

1 / 712345...最後 »