0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MySQLの基本

Last updated at Posted at 2019-07-09

こんにちは。

記事を閲覧いただきありがとうございます。

プログラミングの勉強を始めてしばらく経ちましたが、SQLについてまともに学習したことがなかったため、復習がてら記事にしていきたいと思います。

学習に関してはドットインストールで行いました。

MySQLとは

○ オープンソースのデータベースシステム。

MySQLへ接続

○ MySQLの動作確認

$ sudo service mysql status

○ 以下のように表示で操作中

mysqld (pid  17137) を実行中...

○ rootユーザーでログイン

$ mysql -u root

○ 接続を終了

$ quit;

データベースの操作

○ データベースの作成

$ create database 'データベース名'

○ データベースの削除

$ drop database 'データベース名'

○ データベースの表示

$ show databases;

○ 操作対象のデータベース確認

select databese();

○ データベースを操作対象にする

$ use 'データベース名';

作業用ユーザーの作成

○ まずルートユーザーでログイン

$ mysql -u root

以下コマンドで作業用ユーザー作成

$ create user 'ユーザーネーム'@'どこからアクセスしてくるか?' identified by 'パスワード';

全権限を与える

$ grant all on 'データベース名'.* to '作成したユーザー';

ルートユーザーから抜けて作業用ユーザーでログイン

$ mysql -u '作成したユーザー名' -p

パスワード入力を求められるので入力すると接続できる

ユーザーの削除

$ drop user 'ユーザー名';

外部ファイルの実行

○ sqlファイルを作成

myapp.sql:

#該当のデータベースがあれば削除
drop database if exists 'データベース名';

#データベース作成
create database 'データベース名';

#権限付与&作業用ユーザーの作成
grant all on 'データベース名'.* '作成する作業用ユーザー' identified by 'パスワード';

○ ファイルの実行
実行の方法は二つある

リダイレクションを使う方法

$ mysql -u root < 'ファイル名'

mySQLサーバにログインして行う方法
rootでログイン
source もしくは \. を使う

$ source ./'ファイル名'

テーブルの作成

○ 外部ファイルを作成

create_table.sql:

#テーブルの作成
create table 'テーブル名' (
  #'カラム名' 'データ型',
  id int unsigned,   
  name varchar(20),  
  score float,
);

○ データ型について

number ー 数値
  int           #整数
  float         #浮動小数点
  double        #浮動小数点より精度の高いデータ型
  int unsigned  # + のみ使用

string ー 文字列
  char('文字数')   #固定長
  varchar('文字数') #可変長 データによって長さが変わるもの
  text         #可変長 どれくらいの長さになるかわからないもの

date/time ー 日時
  date
  time
  datatime

true/false ー 真偽値
  true = 1
  false = 0

テーブルにデータを挿入

テーブルにデータを挿入
insert into 'テーブル名' ('カラム名1','カラム名2') value ('値1',''値2)

テーブルの確認
$ select * from 'テーブル名';


○ カラムに入力制限をかける

not null  #NUllを許さない
default   #デフォルトの値を指定
primary key #重複しない値にする auto_incrementを付けると連番になる

例)
create table users (
  id int unsigned primary key auto_increment,
  name varchar(20) unique,
  score float default 0.0
);

結果:
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(20)      | YES  | UNI | NULL    |                |
| score | float            | NO   |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
○ カラムを後から追加

alter table 'テーブル名' add colmun '追加するカラム名' '型';

○ カラムの削除

alter table drop colmun 'カラム名';

○ 型の変更

alter table chage 'カラム名' '新しいカラム名' '型';

まとめ

基本中の基本ですがSQLは覚えておく必要があるので引き続き勉強します!
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?