Category Archives: DataBase

「postgresql入門」CASE式で条件分岐を判定するサンプル

1.フラグを付ける
形式
select case when 条件 then xxx
as フラグ

SELECT
contentid,
detail,
reg_date,
CASE WHEN reg_date > CURRENT_TIMESTAMP() – INTERVAL 7 DAY THEN 1 ELSE 0 END AS newInfo
FROM categorytb;
ORDER BY reg_date DESC

2.case when else

SELECT
CASE
WHEN rankscore >= 70 THEN ‘S’
WHEN rankscore >= 60 THEN ‘A’
WHEN rankscore >= 50 THEN ‘B’
ELSE ‘C’
END
FROM demotbl;

「postgreSQL入門」カレントスキーマ変更方法

1.スキーマ確認
select current_schema();

結果
current_schema
public

2.一時的に変更
set search_path to “demo”;

3.恒久的に変更
設定ファイル
postgresql.conf
場所
/var/lib/pgsql/9.6/data/postgresql.conf
修正内容
search_path = ’demo,”$user”,demo’ # schema names

CentOS7にMySQL5.7をインストールするメモ

1.ダウンロード
https://dev.mysql.com/downloads/repo/yum/

2.MySQLのインストール
#yum list | grep mysql

#rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#yum install install mysql-server

#service mysqld restart

3.データベースの設定
temporaryパスワードの取得
#grep “password” /var/log/mysqld.log

#mysql -u root -p

4.パスワードの変更
#SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘Your new password’)

validate_password_policyを変更する場合

mysql> set global validate_password_policy=0;

valitdate_password_lengthを変更する場合

mysql> set global validate_password_length= 6;

「PostgreSQL入門」UPPER()、LOWER()、TRIM()、SUBSTR()の使い方

1.文字変換
文字列を大文字に変換
SELECT UPPER(‘test’)

文字列を小文字に変換
SELECT LOWER(‘TEST’)

2.左端や右端にある空白を削除
左右の空白の除去
SELECT TRIM(‘  test  ’)

左端の空白を除去
SELECT LTRIM(‘ test ‘)

右端の空白を除去
SELECT RTRIM(‘ test ‘)

3.指定文字列を別の文字列に変換
SELECT REPLACE(‘test data’, ‘te’, ‘hh’)
結果 hhst data

4.SUBSTR関数
形式:SUBSTR(string, start[, length])
SELECT SUBSTR(‘testdata’, 3, 2)
結果 st

「Postresql入門」SELECT MAX(CAST(XXX)である項目最大値を取得する

SQL構文
SELECT
MAX (CAST(SUBSTRING(EMPID, 8, 3) AS NUMERIC (3)))
FROM
TEST_TBL
WHERE
EMPID = ‘xxxx’

「postgreSQL入門」デフォルトスキーマ(schema)を変更するメモ

— Use this to show the current search_path
— Should return: “$user”,public
SHOW search_path;

— スキーマ作成
CREATE SCHEMA test_schema;
GRANT ALL ON SCHEMA test_schema TO test_user;

— To change search_path on a connection-level
SET search_path TO test_schema;

— To change search_path on a database-level
ALTER database “test_database” SET search_path TO test_schema;

「Oracle入門」階層問い合わせ(start with connect by)をするサンプル

サンプル
select *
from tableName t
start with t.columnName_A = ‘value’
connect by prior t.columnName_B = t.columnName_A

RedHat6.xにMySQL 5.7.9をインストールする手順メモ

1.tarファイル解凍
#tar -xvf mysql-5.7.9-1.el6.x86_64.rpm-bundle.tar

2.インストールしたmysqlを削除
#rpm -qa|grep -i mysql
#yum -y remove mysql-libs-*

3.mysqlのインストール
#rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm
#rpm -ivh mysql-community-embedded-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-devel-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-embedded-devel-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm
#rpm -ivh mysql-community-server-5.7.9-1.el6.x86_64.rpm

4.データベースの初期化
#mysqld –initialize

5.mysqlのユーザを設定
#chown mysql:mysql /var/lib/mysql -R
#service mysqld start

6.ランダムパスワードの確認
# cat /var/log/mysqld.log
「 A temporary password is generated for root@localhost: xxx(パスワード) 」

7. DBにログイン
#mysql -uroot -p’パスワード’

 

8. 新しいパスワードの設定
set password=password(‘startnews24pwd’);

9.MySQLのデータ格納フォルダを設定
#service mysqld stop
#mv /var/lib/mysql /DATA/MySqlData/

10.MySQLの設定ファイルを修正
#vi /etc/my.cnf
修正前
# datadir=/var/lib/mysql
# socket=/var/lib/mysql/mysql.sock

修正後
datadir=/DATA/MySqlData/mysql
socket=/DATA/MySqlData/mysql/mysql.sock

11.MySQLの起動スクリプトを修正
#vi /etc/init.d/mysqld
修正前
#get_mysql_option mysqld datadir “/var/lib/mysql”

修正後
get_mysql_option mysqld datadir “/DATA/MySqlData/mysql”

12.innodb_data_file_pathの」追加
#vi /etc/my.cnf
追記
innodb_data_file_path = ibdata1:256M;ibdata2:512M:autoextend

注意事項
/DATA/MySqlData/mysql直下に ibdata1 ibdata2 ib_logfile0 logfile1ファイルを削除することが必要です。

13.MySQL再起動
#service mysqld start

14.クライン側の接続
#vi /etc/my.cnf
追記
[client]
socket=/DATA/MySqlData/mysql/mysql.sock

 

15.権限の設定
mysql -uroot -p’パスワード’
grant all privileges on *.* to ‘root’@’%’ identified by ‘パスワード’ with grant option;

「Oracle入門」テーブルを作成、削除するコマンド

1.プライマリキー付き
create table companytbl
(
dev_id char(3) ,
compname varchar2(10),
primary key( dev_id )
)

2.プライマリキーを指定
create table companytbl
(
dev_id char(3) ,
compname varchar2(10),
constraint pk_company primary key( dev_id )
)

3.複数プライマリキーを指定
create table companytbl
(
dev_id char(3) ,
snoId char(3) ,
company_name varchar2(10) ,
primary key( dev_id, snoId )
) tablespace comtsp

4.default値、not nullカラムを定義
create table companytbl
(
dev_id char(3) ,
dept_id char(3) default ‘111’,
snoId char(3) default ‘777’ not null,
company_name varchar2(10) not null,
create_date date default sysdate,
primary key( dev_id )
)

5.外部キー制約
create table companytbl
(
dev_id char(3) ,
dept_id char(3) ,
company_name varchar2(10) ,
constraint pk_company primary key( dev_id ),
constraint fk_company foreign key ( dept_id ) references dept( dept_id )
)

6. テーブル削除
drop table companytbl

7. テーブル制約削除
drop table companytbl cascade constraints

「Oracle入門」一時表を作成、削除するコマンド

1.一時表「STUDENT_TMP」を作成
create global temporary table STUDENT_TMP
(
stu_addr char(3),
stu_name varchar2(10)
) on commit delete rows

2.一時表「STUDENT_TMP」を削除
drop table STUDENT_TMP

1 / 1112345...10...最後 »