Category Archives: DataBase

「PostgreSQL」シーケンスのオーナ変更、DB作成、sqlファイルを導入

1.シーケンスのオーナ変更
形式
ALTER TABLE “シーケンス名” OWNER TO newowner;
例 $ALTER TABLE public.cft_info OWNER TO manusernew;

2.現在のユーザ確認
$select current_user;
current_user
————–
postgres
(1 行)

3.データベースの作成、sqlファイルを導入
$createdb -O manuse manDb
$ psql -d manDb -f /tmp/employcreate.sql

「Postgres」ユーザ作成、ロールを変更するコマンド

ユーザを追加し、ロール一覧を確認
postgres=# create user manuser1 with password ‘manuser1pwd’;
CREATE ROLE
postgres=# create user manuser2 with password ‘manuser2pwd’;
CREATE ROLE
-bash-4.2$ psql
psql (9.2.18)
“help” でヘルプを表示します.

postgres=# \du
manuser1にスーパーユーザ権限を付与する ALTER ROLEを使って、manuser1にスーパーユーザ権限を付与しました。
postgres=# ALTER ROLE manuser1 WITH SUPERUSER;
ALTER ROLE
postgres=# \du

「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