Mysql簡単入門
6057 ワード
mysqlタイプの概要
SQL分類:データ定義言語DDL、データ操作言語DML、データ制御言語DCL DDL:データ定義言語、定義、修正、削除データベース内部構造――例えば:データベース、データテーブル以上の操作DML:データ操作言語、データテーブル記録の増加、削除、修正DCL:データ制御言語ユーザー授権、if、while、トランザクション管理DQL:データ問合せ言語select問合せ文(後に追加されたクラス)
前にSQLを習ったことがあるので、MysqlのDDLの内容をご紹介します
1.インストール
一般的にはデフォルトのインストールを使用します.次にmysqlのパスワードをリセットする方法を説明します. mysqlサービスを停止 新規cmdウィンドウ入力mysqld-nt--skip-grant-tables---ウィンドウブロック、 を閉じないでください新しいウィンドウmysqlにログインするにはパスワードuse mysqlを入力する必要はありません.update user set password = password('abc') where user='root' ; mysqlサービスウィンドウを閉じる---タスクマネージャを開いてmysqld-ntを閉じる.exe mysqlサービスを再起動 2.データベース操作
(1)データベースの作成
(2)すべてのデータベースを表示
(3)あるデータベースの構造(文字セット)を表示する
(4)データベースエンコーディングの変更
2.データベース表
(1)データベーステーブルの作成
(2)データ型
1)整数型tinyint(byte)smallint(short)int(int)bigint(long)float double
2)文字列タイプvarchar char長さ取値0-255----String
varcharが長くなるvarchar(20)はhelloをデータベースに格納します.長くなるため、列の長さは保存内容に応じて自動的に調整されます.
char定长char(8)----helloをデータベースに格納hello定长保存hello+3スペース
*varcharはよく使いますが、charの方が性能がいいです(長さが固定されている場合はcharがおすすめです)
3)論理bit 1ビット---boolean*bit(8)は8ビットがtinyintに等しく、bit(32)がintに等しいことを示す
4)日付型date time datetime timestamp
dateは日付のみ保存できます
time保存時間のみ
datetimeは日付も時間もあります
timestamp日付と時刻があり、自動的に更新---操作データテーブル、timestampフィールドが自動的に現在時刻を更新する
5)ビッグデータ型text、blob
textテキストタイプデータ、主に文字ファイル---テキストファイルを格納
blobバイナリファイル、任意のタイプのファイル(音楽、映画)を格納
(3)表構造の表示
descテーブル名
(4)データテーブル修正
既存のデータテーブルに列を追加:alter tableテーブル名
addカラム名タイプ(長さ)[拘束];
既存のデータテーブルの列タイプ、長さの変更:alter tableテーブル名
modifyカラム名タイプ(長さ)[拘束];
既存のデータテーブルの列の名前を変更する:alter tableテーブル名
change旧列名新列名タイプ(長さ)[拘束];(modifyの代わりに新しい=古いカラム名)
既存のカラムを削除:alter tableテーブル名dropカラム名;
表名の変更:rename table旧表名to新表名;
表の文字セットの変更:alter table student character set utf 8;
(5)テーブルの削除
(6)中国語コード問題
dosフォームのデフォルトの符号化はgbkであり、デフォルトのデータベースの符号化はutf 8であり、中国語のあるレコードを挿入したい場合は、次のエラーが発生します.
mysqlでは、client、connection、database、results、server、systemの6つの文字セットが使用されています.
サーバ側関連:database server system(変更できないのはutf-8)
クライアント関連connectionクライアントresults
次のコマンドを使用して、現在の6つの文字セットを表示できます.
[mysql]----クライアント構成
[mysqld]----サーバ側構成
従ってutf 8をgbkに変更すれば一労永逸(dosのみ)
SQL分類:データ定義言語DDL、データ操作言語DML、データ制御言語DCL DDL:データ定義言語、定義、修正、削除データベース内部構造――例えば:データベース、データテーブル以上の操作DML:データ操作言語、データテーブル記録の増加、削除、修正DCL:データ制御言語ユーザー授権、if、while、トランザクション管理DQL:データ問合せ言語select問合せ文(後に追加されたクラス)
前にSQLを習ったことがあるので、MysqlのDDLの内容をご紹介します
1.インストール
一般的にはデフォルトのインストールを使用します.次にmysqlのパスワードをリセットする方法を説明します.
(1)データベースの作成
create database mydb1
(2)すべてのデータベースを表示
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb1 |
| mysql |
| performance_schema |
| test |
+--------------------+
(3)あるデータベースの構造(文字セット)を表示する
mysql> show create database mydb1;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| mydb1 | CREATE DATABASE `mydb1` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
(4)データベースエンコーディングの変更
alter database character set ;
(5)データベースの削除drop database mydb1
(6)データベースの切り替えuse database
(7)現在のデータベースを表示mysql> select database();
+------------+
| database() |
+------------+
| mydb1 |
+------------+
またはstatusを使用する.2.データベース表
(1)データベーステーブルの作成
create table ( ( ), ( ) ...) character set ;
符号化セットを設定しない場合、データテーブルはデータベースのデフォルト文字セットを採用し、以下の簡単な例を示す.create table users(
id int,
name varchar(40),
password varchar(40),
birthday date
);
すべてのデータ型のうち、varcharが長さを指定する必要がある場合(charのデフォルトはchar(1))を除き、他のタイプのデフォルト長さ(2)データ型
1)整数型tinyint(byte)smallint(short)int(int)bigint(long)float double
2)文字列タイプvarchar char長さ取値0-255----String
varcharが長くなるvarchar(20)はhelloをデータベースに格納します.長くなるため、列の長さは保存内容に応じて自動的に調整されます.
char定长char(8)----helloをデータベースに格納hello定长保存hello+3スペース
*varcharはよく使いますが、charの方が性能がいいです(長さが固定されている場合はcharがおすすめです)
3)論理bit 1ビット---boolean*bit(8)は8ビットがtinyintに等しく、bit(32)がintに等しいことを示す
4)日付型date time datetime timestamp
dateは日付のみ保存できます
time保存時間のみ
datetimeは日付も時間もあります
timestamp日付と時刻があり、自動的に更新---操作データテーブル、timestampフィールドが自動的に現在時刻を更新する
5)ビッグデータ型text、blob
textテキストタイプデータ、主に文字ファイル---テキストファイルを格納
blobバイナリファイル、任意のタイプのファイル(音楽、映画)を格納
(3)表構造の表示
descテーブル名
mysql> desc teacher;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birthday | date | NO | | NULL | |
+----------+-------------+------+-----+---------+----------------+
(4)データテーブル修正
既存のデータテーブルに列を追加:alter tableテーブル名
addカラム名タイプ(長さ)[拘束];
既存のデータテーブルの列タイプ、長さの変更:alter tableテーブル名
modifyカラム名タイプ(長さ)[拘束];
既存のデータテーブルの列の名前を変更する:alter tableテーブル名
change旧列名新列名タイプ(長さ)[拘束];(modifyの代わりに新しい=古いカラム名)
既存のカラムを削除:alter tableテーブル名dropカラム名;
表名の変更:rename table旧表名to新表名;
表の文字セットの変更:alter table student character set utf 8;
(5)テーブルの削除
drop
(6)中国語コード問題
dosフォームのデフォルトの符号化はgbkであり、デフォルトのデータベースの符号化はutf 8であり、中国語のあるレコードを挿入したい場合は、次のエラーが発生します.
mysql> insert into student values(1,' ');
ERROR 1366 (HY000): Incorrect string value: '\xB9\xC5\xB3\xC7' for column 'name' at row 1
mysqlでは、client、connection、database、results、server、systemの6つの文字セットが使用されています.
サーバ側関連:database server system(変更できないのはutf-8)
クライアント関連connectionクライアントresults
次のコマンドを使用して、現在の6つの文字セットを表示できます.
mysql> show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
clientもutf 8のコードですが、dosはgbkですが、カスタマーサービス側のコード方式を修正して、サーバーに相応の変換を通知すればいいです.カスタマーサービス側のコードを修正するのは以下の通りです.set names gbk;
この時点で、前の挿入文は正常に実行されます.現在は一時的に有効ですが、永続的に有効にするにはmysqlインストールディレクトリの下のmyを変更する必要があります.iniファイル[mysql]----クライアント構成
[mysqld]----サーバ側構成
従ってutf 8をgbkに変更すれば一労永逸(dosのみ)
[mysql]
default-character-set=utf8