MySQLの概要と簡単な基本操作

19015 ワード

MySQLの概要と簡単な基本操作
MySql
1.データベースの紹介
データベースはデータを格納ためのものであり、データは直接データベースに格納ものではなく、データベースに格納されているのはテーブルであり、テーブルに格納されているのがデータである.
だから私たちはデータの操作、テーブルの操作、データベースの操作に分けることを学びます.
2.データベースの発展史
2.1萌芽段階(ファイル)
データを格納ファイルはすべてデータベースに属する.安全性が低い
2.2階層モデル
1.  :            
2.  :
        ,           ,       
          (   )
: , , ' ' ' '
2.3メッシュモデル : , .
2.4関係モデル
現在の主流のデータベースはリレーショナル・データベースです : , , . : , . . ,
  :                      ,        .
        ,                 (NoSql),redis.MongoDB.

3.記録いいですよ.列を選択します.を選択します.フィールドのプロパティデータ#データ#
1.            
2.        ,       
          :      
         :        
3.    :             
1.      ,      
2.     ,         ,        ,         .
3.       ,        ,           ,                        .(          ,       ,     )

4.データの整合性
正確性+正確性=データの整合性
  :       (age int),   1000,      ?      ?
           
: : ( )
5.Windowsコマンドライン実行クライアント
(1).MySqlの起動CMDを使用してクライアントを開く
もしあなたが のmysql 5を使っていたら.7,それでは先にコマンドを開くのは:net start(stop) mysql57サードパーティのサービス性を使用している場合は、ルールに従って操作します.
     mysql bin   ,  mysqld.exe    

(2).MySqlサーバへの接続mysql -h localhost -u root -p root -P3306
localhost      IP  
host    -h
username      -u
password       -p
port          -P

(3).接続解除
1.quit
2.exit
3.\q

(4)SQL文
SQLは構造化クエリー言語(Structured Query Language)であり、特殊な目的のプログラミング言語であり、データベースクエリーとプログラム設計言語であり、データへのアクセス、リレーショナルデータベースシステムの更新、管理に用いられる.データベース・スクリプト・ファイルの拡張子でもあります.SQL文は種類も数量も多く、多くの文もよく使われています.SQLクエリ文は典型的な例で、高度なクエリでも低レベルのクエリでもSQLクエリ文の需要が最も頻繁です.
リレーショナル・データベース
会社
拡張
access
マイクロソフト
SQL
SQL-Server
マイクロソフト
T-SQL
Oracle
甲骨文
PL/SQL
MySql
甲骨文
MySql
  :  SQL   SQL,   oracle    PL/SQL   MySql   ?
  :  ,          SQL.

(5)データベース操作
a.データベースの作成
  :create database [if not exists] `    ` charset=     (utf8);

b.既存のデータベースを作成するとエラーが発生する
c.指定データベースの文字コード
create database `    ` charset=     (utf8);

d.データベースを作成し、データベース名に逆引用符(")を付けます.キーワードをデータベース名として使用すると、エラーを防止し、作成に成功します.
e.データベースの表示
構文:show databases;f.データベース作成文を表示
  :show create database `    `;

(6)データベースの変更
データベースの文字コードのみ変更できます
データベース文字セットの変更
alter database `    ` charset=     ;

(7)データベースの削除
drop database [if exists] `    `;

存在しないデータベースを削除すると、次のように報告されます.1008 - Can't drop database '$%@'; database doesn't exist
[if exists]を加える
drop database if exists `    `;
#      
#  :            ,     .

(8)データベースの選択
use `    `;

6.表の操作
(1)テーブルの作成
create table [if not exists] `  `(
    -> id int not null auto_increment  primary key comment'    ',
    -> username char(64) comment'   ' default'root',
    -> password varchar(64) comment'  '
    -> )engine=myisam charset=utf8;

注意:最後のセットはカンマをつけてはいけません.もしつけたら、書き終わっていません.
1.null|not null         
2. default           
3.auto_increment      
4.primary key         
5.engine         (innodb | myisam) 

(2)よく使うエンジンinnodb,myisam異なる格納エンジンは、格納データのフォーマットが異なる.
IOモデルは、ハードディスクのcurd insert->create update read->select delete
Iはinnodbを書いて書く時更に優勢del update insertがあります
o myisamを読むときはもっと優位性がありますselect
(3)指定されたデータベースにテーブルを作成する
 create table     .  (
    -> id int,
    -> p char(32)
    -> );

(4)中国語文字化けし
create table     .  (
    -> id int,
    -> name char(32) default'  ' #default         
    -> );
#1067 - Invalid default value for 'name'

#windows    GBK

set names gbk

7.データベースファイル
データベースはフォルダに対応し、テーブルはファイルに対応します.
(1)myisamエンジン
MySQL\data\python->mysql   

   python          user 

myisam         

user.frm  ->    
user.MYD  ->      
user.MYI  ->       

(2)innodbエンジン
user_info    innodb 

user_info.frm     .        

 MySQL\data

ibdata1 ->    innodb   ,  ibdata1  ,      ibdata2\ibdata3
  :myisam           ,innodb      .

      ,innodb       ibdata1   ,           innodb myisam  ,          (    )

8.表の操作
(1)表示テーブルshow tables;
+------------------+
| Tables_in_python |
+------------------+
| user             |
| user_info        |
+------------------+
2 rows in set

(2)表構造の表示show create table user\G
*************************** 1. row ***************************
       Table: user
Create Table: CREATE TABLE `user` (
  `uid` int(11) NOT NULL AUTO_INCREMENT COMMENT '     '
  `username` char(64) DEFAULT NULL COMMENT ' ㄦ  ?,
  `password` varchar(64) DEFAULT NULL COMMENT '   ',
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

(3)テーブルの削除
  :drop table [if exists] ` 1`,` 2`;
mysql> drop table if exists `user`,`user_info`;
Query OK, 0 rows affected
mysql> show tables;
Empty set

(4)表構造の表示
desc `  `;  | describe `user`;

+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | char(16)         | NO   |     | tom     |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set

(5)表の変更
a.表名の変更
  : alter table `old_name` rename `new_name`;

b.フィールドを1つ追加
alter table `  ` add `   `     ;

alter table user2 add age int(3) first;  #        

alter table user2 add height int(3) after age; #            

c.フィールド属性の変更
alter table `  ` modify `   (   )`     ;

d.フィールド名の変更
alter table `  ` change `    ` `     ` varchar(10) ;

e.フィールドの位置を変更する
alter table user2 change `   ` `       ` char(16) after '   ';

f.テーブル修正エンジン
alter table `  ` engine=innodb|myisam;

g.指定したデータベースにテーブルを移動し、指定した名前に名前を変更する
alter table `   ` rename to java.user;

(6)テーブルのコピー
create table `  ` select * from `    `;

  :
1.                
2.      
create table `  ` like `    `;

  :
1.       
2.        

(7)データ操作
a.データの挿入
1.insert into user(`id`,`age`,`sex`) values('',18,'tom');
#           
2.insert into user(`age`,`sex`) values(20,'jack');
#id       ,    
3.insert into user values(null,25,'lily');
#    l,40,'wj'),(null,50,'ybq');
#      
5.insert into user set age=60,sex='hx'; ,         
4.insert into user values(null,30,'lyb'),(nul
#             insert into    set   ='',  ='';

#   
    insert    (     1  ,     100  )

 : insert         ,  vaules.

#why?
insert               ,    ,    ,       .

クエリ:select * from ;md 5()はmysqlで直接暗号化でき、pythonでhashlib.md5().
md 5は一方向暗号化である
md 5はプロジェクトでどのように暗号化しますか.
md5(123456) --->e10adc3949ba59abbe56e057f20f883e

md5(e10adc3949ba59abbe56e057f20f883e+base64(admin))

b.データの修正
update user set sex='pgone' where id=8;
#update    set    =' ',   =123 where   (      )= ;
update user set sex='   ',age=40 where id=5;
#      

c.データの削除
delete from user where id=8;
#delete from    where   (     )= 
#      
delete from user where True;
#    
#         
truncate user;
#         ,       ,   ,