huchi's mysql識字ノート
19977 ワード
mysql入門から諦めるまで
ダウンロード:http://dev.mysql.com/downloads/mysql/5.1.html#downloads
設定はダウンロードしたmysql-noinstall-51.69-win 32.zipをインストールが必要な位置に解凍します。 インストールフォルダの下でmy-smal.iniプロファイルを見つけ、それをmy.iniと名前を変えて編集します。[client]と[mysqld]の下で一行を追加します。default-character-set=gbk Windows環境変数設定を開き、変数名MYSQL_を新規作成します。ホーム、変数値はMySQLのディレクトリパスです。ここはC:\Program Files\mysql-51.69-win 32 です。環境変数のPath変数に追加します。%MYSQL_HOME%\ bin; MySQLサービスをインストールし、Windowsコマンドのプロンプトを開いて、命令を実行します。mysqld–install MySQL–defaults-file="my.ini"ヒント"Service succefully installd."は成功を表します。 参照
起動
保存時のスクリプトファイルの拡張子の名前は識別子 キーワード 文 関数 MySQLのデータタイプデジタルタイプ 整数:inyint、smalint、mediumint、int、bigint。 浮動小数点数:float、double、real、decimal 日付と時間date/time/datetime/timestamp/year 文字列タイプ 文字列:char/varhar テキスト:inytext/text/mediumtext/longtext バイナリ:tinylob/blob/mediumblob/longblub 参照
MySQLデータベースを使う登録MySQL cmd→
-u:ログインするユーザ名
-p:サーバにパスワードを使ってログインします。ログインするユーザ名のパスワードが空であれば、このオプションを無視できます。
これを入力します
パスワードがあれば入力してください。デフォルトのrootアカウントはパスワードなしです。
その後、
exitまたはquitでログイン(またはctrl+C)を終了することができます。データベースを作成する フォーマット:操作するデータベース を選択します。
データベースを操作するには、まずデータベースを選択しなければなりません。
一.データベース登録時に指定する:データベーステーブル を作成します。
使用する「id」は列の名称です。 「int」は列のタイプをint(値取り範囲は-8388608から8388607)として指定し、その後に「unsigned」を使って修正し、このタイプは符号なしタイプであると表しています。この場合、列の取値範囲は0から16777215です。 「not null」はこの列の値が空ではないと説明しています。必ず記入しなければなりません。この属性を指定しないと、デフォルトは空になります。 「atomuincrement」は整数列で使用される必要があり、その役割はデータを挿入する際にNULLとすると、MySQLは現存値よりも大きな一意の識別子値を自動的に生成することである。このような値は各テーブルに一つしかありません。位置列は索引の列でなければなりません。 「primary key」はこの列が表の主キーであることを表しています。この列の値は唯一でなければなりません。MySQLはこの列を自動的にインデックスします。 以下のchar(8)は、格納されている文字の長さが8であることを示し、tinyintの取得範囲は−127〜128であり、default属性は、列の値が空の場合のデフォルト値を指定する。
またcmd:
//表の名前と表の詳細を確認するテーブルにデータを挿入する insert文は挿入に用いることができます。 例えば、クエリテーブルのデータ select文: 特定の条件で照会する: whereキーワード指定クエリ条件: テーブルのデータを更新する。 udate: テーブルのデータを削除する delete文は、テーブル内のデータを削除するために使用されます。
alter table文は作成後の表の修正に使います。追加列: 列を修正する: 列を削除する: 名前変更テーブル 削除テーブル: データベースを削除します。。。。 Extra rootユーザパスワードを変更する cmd→可視化管理ツール MySQL Workbench
紹介する
ダウンロード
ダウンロード:http://dev.mysql.com/downloads/mysql/5.1.html#downloads
設定
起動
net start MySQL
停止net stop MySQL
;アンインストールsc delete MySQL
基本構成保存時のスクリプトファイルの拡張子の名前は
.sql
です。コンソールの下で、MySQLクライアントは、.sql
ファイルに保存せずに文を単一の文で実行することもできる。MySQLデータベースを使う
mysql -h -u - p
-h:このコマンドは、クライアントが登録するMySQLホスト名を指定し、現在のマシンに登録するためのパラメータを省略することができます。-u:ログインするユーザ名
-p:サーバにパスワードを使ってログインします。ログインするユーザ名のパスワードが空であれば、このオプションを無視できます。
これを入力します
mysql -u root -p
Enter password:
を得るパスワードがあれば入力してください。デフォルトのrootアカウントはパスワードなしです。
その後、
Welecome to the MySQL monitor...
が見られます。exitまたはquitでログイン(またはctrl+C)を終了することができます。
create database [ ]
私たちは入力します。create database huchi character set gbk;
応答を得るQuery OK, 1 row affected (0.16 sec)
MySQL文は、ステートメントの終了として、ステートメントにセミコロンを追加しない場合、命令はずっと入力を続けるように指示します。show databases;
を使用して作成したデータベースを確認します。データベースを操作するには、まずデータベースを選択しなければなりません。
ERROR 1046(3D000):No database selected
二つの方法でデータベースを使用する選択一.データベース登録時に指定する:
mysql -D huchi -u root -p
二.ログイン後にuse文で指定し、コマンドuse ;
use huchi
はhuchiデータベースに切り替わります。使用する
create table ( )
コードを貼るより面白いことがありますか?MySQL [huchi]> create table students
-> (
-> id int unsigned not null auto_increment primary key,
-> name char(8) not null,
-> sex char(4) not null,
-> age tinyint unsigned not null,
-> tel char(13) null default "-"
-> );
Query OK, 0 rows affected (2.10 sec)
直接入力すると間違えやすいので、面倒くさいです。create table students2
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
「id int unsigned not null aut prive key」行で紹介します。createtable.sql
ファイルに保存します(おすすめはsublime)またcmd:
mysql -D huchi -u root -p < createtable.sql
//(ヒント:1.リモートホストに接続する場合は-hコマンドを追加してください。2.createtable.sqlファイルが現在の作業ディレクトリでない場合はファイルのフルパスを指定してください。)//表の名前と表の詳細を確認する
show tables;
describe students2;
MySQL [huchi]> describe students2
-> ;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(8) | NO | | NULL | |
| sex | char(4) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
| tel | char(13) | YES | | - | |
+-------+---------------------+------+-----+---------+----------------+
5 rows in set (0.36 sec)
操作MySQLデータベースinsert [into] [( 1, ...)] values ( 1, ... )
MySQL [huchi]> insert students values(NULL, "huchi", "boy", 18, "110");
Query OK, 1 row affected (0.07 sec)
MySQL [huchi]> insert into students (name,sex,age) values("lmh", "boy" , 19);
Query OK, 1 row affected (0.01 sec)
select from [ ];
MySQL [huchi]> select name,age from students;
+-------+-----+
| name | age |
+-------+-----+
| huchi | 18 |
| lmh | 19 |
| lhd | 19 |
| lxa | 19 |
+-------+-----+
4 rows in set (0.00 sec)
MySQL [huchi]> select * from students;
+----+-------+------+-----+-------------+
| id | name | sex | age | tel |
+----+-------+------+-----+-------------+
| 1 | huchi | boy | 18 | 110 |
| 2 | lmh | boy | 19 | - |
| 3 | lhd | girl | 19 | - |
| 4 | lxa | girl | 19 | - |
+----+-------+------+-----+-------------+
4 rows in set (0.00 sec)
select from where
MySQL [huchi]> select * from students where sex = "boy";
+----+-------+-----+-----+-------------+
| id | name | sex | age | tel |
+----+-------+-----+-----+-------------+
| 1 | huchi | boy | 18 | 110 |
| 2 | lmh | boy | 19 | - |
+----+-------+-----+-----+-------------+
2 rows in set (0.04 sec)
whereはサポートだけでなく、<=などおよびis[not]null、in、like、or、andなども使えます。MySQL [huchi]> select * from students where name like "hu%";
+----+-------+-----+-----+-------------+
| id | name | sex | age | tel |
+----+-------+-----+-----+-------------+
| 1 | huchi | boy | 18 | 110 |
+----+-------+-----+-----+-------------+
1 row in set (0.01 sec)
update set = [where ];
MySQL [huchi]> update students set tel="119" where id = 1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL [huchi]> update students set age = age + 1;
Query OK, 4 rows affected (0.02 sec)
Rows matched: 4 Changed: 4 Warnings: 0
delete from where ;
MySQL [huchi]> delete from students;
Query OK, 4 rows affected (0.00 sec)
MySQL [huchi]> select * from students;
Empty set (0.00 sec)
MySQL [huchi]> insert students (name , sex ,age) values ("huchi", "boy", 19);
Query OK, 1 row affected (0.00 sec)
MySQL [huchi]> insert students (name , sex ,age) values ("lmh", "boy", 20);
Query OK, 1 row affected (0.00 sec)
/本当に悲しい物語です。。後の表の変更を作成します。alter table文は作成後の表の修正に使います。
alter table add [after ];
MySQL [huchi]> alter table students add address char(60);
Query OK, 0 rows affected (0.42 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [huchi]> alter table students add birthday date after age;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [huchi]> describe students;
+----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(8) | NO | | NULL | |
| sex | char(4) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
| birthday | date | YES | | NULL | |
| tel | char(13) | YES | | - | |
| address | char(60) | YES | | NULL | |
+----------+---------------------+------+-----+---------+----------------+
7 rows in set (0.04 sec)
alter table change ;
MySQL [huchi]> alter table students change address ad char(60) default "-";
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [huchi]> alter table students change name name char(16) not null;
Query OK, 4 rows affected (0.07 sec)
Records: 4 Duplicates: 0 Warnings: 0
MySQL [huchi]> describe students;
+----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(16) | NO | | NULL | |
| sex | char(4) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
| birthday | date | YES | | NULL | |
| tel | char(13) | YES | | - | |
| ad | char(60) | YES | | - | |
+----------+---------------------+------+-----+---------+----------------+
7 rows in set (0.08 sec)
alter table drop
MySQL [huchi]> alter table students drop birthday;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
MySQL [huchi]> describe students;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(16) | NO | | NULL | |
| sex | char(4) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
| tel | char(13) | YES | | - | |
| ad | char(60) | YES | | - | |
+-------+---------------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)
alter table rename ;
MySQL [huchi]> alter table students rename friends;
Query OK, 0 rows affected (0.01 sec)
MySQL [huchi]> show tables;
+-----------------+
| Tables_in_huchi |
+-----------------+
| friends |
| stu12 |
| students2 |
+-----------------+
3 rows in set (0.00 sec)
drop table ;
MySQL [huchi]> drop table stu12;
Query OK, 0 rows affected (0.06 sec)
MySQL [huchi]> show tables;
+-----------------+
| Tables_in_huchi |
+-----------------+
| friends |
| students2 |
+-----------------+
2 rows in set (0.00 sec)
drop database ;
;
mysqladmin -u root -p password
紹介する
ダウンロード