Category Archives: DataBase

「Oracle入門」ユーザを作成する方法

create user cft identified by cft

grant connect,resource to cft;
grant create any sequence to cft;
grant create any table to cft;
grant delete any table to cft;
grant insert any table to cft;
grant select any table to cft;
grant unlimited tablespace to cft;
grant execute any procedure to cft;
grant update any table to cft;
grant create any view to cft;

grant select on V_$session to cft

grant select on v_$sesstat to cft

grant select on v_$statname to cft

SQLiteのトランザクションを利用する方法

操作コマンド

SQLiteDatabase db = this.getWritableDatabase();
db.beginTransaction();
db.delete(this.DAILY_EXAMINE, “1=1”, null);
db.delete(this.ENTERPRISE_EXAMINE, “1=1”, null);
db.delete(this.LAW_ENFOREMENT, “1=1”, null);
db.delete(this.EVENT_EXAMINE, “1=1”, null);
db.delete(this.LOCUS_OF_POINT, “1=1”, null);

db.setTransactionSuccessful();
db.endTransaction();

SQLiteのテーブルを作成する方法

db.execSQL(“CREATE TABLE IF NOT EXISTS “+LOCUS_OF_POINT+
” (_id INTEGER PRIMARY KEY,” +
“USER_ID TEXT,” +
“USER_NAME TEXT,” +
“TIME TEXT,” +
“SHAPE TEXT,”+
“EQUIPMENT_NUMBER TEXT)”);

「MySQL入門」日付の減算関数DATE_SUB()の使い方

サンプルコード

date_sub(CURRENT_DATE(),interval 1 day)  昨日
date_sub(CURRENT_DATE(),interval -1 day)  明日
date_sub(CURRENT_DATE(),interval 1 month)  先月
date_sub(CURRENT_DATE(),interval -1 month)  来月
date_sub(CURRENT_DATE(),interval 1 year)    昨年
date_sub(CURRENT_DATE(),interval -1 year)   来年

PostgreSQLで指定期間のレコードを取り出すサンプル

1.直近1年データのレコードを取得
select * from table_name where column_name between (current_timestamp +’-1 years’) and current_timestamp  order by column_name desc;

2.指定期間のレコードを取得
select * from table_name where column_name between ‘2015-10-15’ and ‘2017-2-22’;
3  今日の日付から3ヶ月以内になっているレコードを取得
select * from table_name where column_name between (current_date) and (current_date + interval ‘3 month’) ORDER BY column_name;

64ビットのCentOS7にMySQL 5.7.17をインストールする

システム環境
CentOS 7 64位 MySQL 5.7

1.依存パッケージのインストール
#yum install -y gcc-c++ make cmake bison bison-devel ncurses-devel libaio-devel perl perl-Data-Dumper

2.MySQLユーザとグループの追加
#cat /etc/passwd | grep mysql
#cat /etc/group | grep mysql

#groupadd mysql
#useradd -r -g mysql mysql

3.MySQLソースファイルを解凍
#tar -zxv -f mysql-5.7.17.tar.gz

4.MySQLインストールディレクトリとデータディレクトリを作成
#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data

5.boostファイルをコピー
#mkdir /usr/local/boost
#cp /tmp/boost_1_59_0.tar.gz /usr/local/boost/

6. cmakeの操作
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1

7.インストール
#make && make install

8. 配置ファイルの設定
#vim /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock

symbolic-links=0

skip-grant-tables

[mysqld_safe]
log-error=/usr/local/mysql/logs/mysql.log
pid-file=/usr/local/mysql/localhost.localdomain.pid

!includedir /etc/my.cnf.d

mkdir /usr/local/mysql/logs

9. MySQLディレクトリのユーザ権限を設定
#chown -R mysql:mysql /usr/local/mysql

10.MySQLサービスを追加
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

11. MySQLが起動
#service mysql start

Starting MySQL……. SUCCESS!

12.MySQLにログイン

#/usr/local/mysql/bin/mysql -uroot -p

Mybatisでバッチデータを更新する

方法1
<update id=”updateBatch” parameterType=”Map”>
update aa set
a=#{fptm},
b=#{csoftrain}
where c in
<foreach collection=”cs” index=”index” item=”item” pen=”(“separator=”,”close=”)”>
#{item}
</foreach>
</update>
方法2
接続文字列 jdbc:MySQL://172.17.2.120:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

<update id=”batchUpdate” parameterType=”java.util.List”>
<foreach collection=”list” item=”item” index=”index” open=”” close=”” separator=”;”>
update test
<set>
test=${item.test}+1
</set>
where id = ${item.id}
</foreach>
</update>

PostgreSQLでPRIMARY KEYの変更、削除方法

1.PRIMARY KEYの作成、削除
①PRIMARY KEYの作成
ALTER TABLE table ADD CONSTRAINT table_pkey PRIMARY KEY (field1, field2);

studentdb=> alter table stutbl add constraint stutbl_pkey primary key (stuid);
NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index “stutbl_pkey” for table “stutbl”
ALTER TABLE
②PRIMARY KEYの削除
ALTER TABLE table DROP CONSTRAINT table_pkey;

studentdb=> alter table stutbl drop constraint stutbl_pkey;
ALTER TABLE
studentdb=> \d rfideventtbl1
2.NOT NULL制約の追加と削除
追加
ALTER TABLE table ALTER COLUMN column SET NOT NULL;

alter table stutbl alter birth column set not null

削除
ALTER TABLE table ALTER COLUMN column DROP NOT NULL;
alter table stutbl alter birth column drop not null

postgreSQLでidの自動採番方法

SQLコマンド
ALTER TABLE “public”.”sys_user”
DROP CONSTRAINT “sys_user_pkey” ,
DROP COLUMN “id”,
ADD COLUMN “id” serial8 NOT NULL,
ADD CONSTRAINT “sys_user_pkey” PRIMARY KEY (“id”);

MongoDBのバックアップ、リストアコマンドのまとめ

1.バックアップ
>mongodump -h dbhost -d dbname -o dbdirectory

# mongodump -h 127.0.0.1:27017 -d test -o /opt/data/mongobak
2017-01-12T15:41:39.235+0900 writing test.Customer to
2017-01-12T15:41:39.250+0900 done dumping test.Customer (3 documents)

# ls /opt/data/mongobak/test
Customer.bson Customer.metadata.json

2.リストア
>mongorestore -h dbhost -d dbname -directoryperdb dbdirectory

3.インポート
>mongoimport -h dbhost -d dbname -c collectionname output

4.エクスポート
>mongoexport -h dbhost -d dbname -c collectionName -o output