MySQL菜鳥学習ログ——0001

4947 ワード

#MySQL基本コマンド
mysql-u root-pでmysqlを起動
show databases ;//現在のインスタンスに含まれるデータベースの数を確認します.新しいデータベースdrop databaseデータベース名を作成する//指定したデータベースuseデータベース名を削除します.//指定データベースshow tables;//データベースにアクセスした後、データベースの下に何個のデータテーブルdescテーブル名が含まれているかをクエリーします.//指定したデータテーブルのテーブル構造show create tableテーブル名を表示します.//ビルド言語の表示
mysqlにログインするコマンド:mysql-pパスワード-uユーザー名-hホスト名--default-character-set=utf 8終了mysql:quit;exit;
##データベースオブジェクト
オブジェクト名
対応キーワード
説明

table
テーブルはデータを格納する論理ユニットで、行と列の形式で存在します.
データ辞書
システムテーブル、データベース関連情報の格納
拘束
constraint
データ検証を実行するルール
表示
view
1つ以上のデータテーブル内のデータの論理表示
索引
index
クエリーのパフォーマンスを向上させるための、本に相当するディレクトリ
関数#カンスウ#
function
特定の計算を完了するために使用され、戻り値があります.
きおくてつづき
procedure
完全なビジネス処理を完了するために使用され、値は返されませんが、出力パラメータによって複数の値を呼び出し環境に渡すことができます.
フリップフロップ
trigger
イベントリスナーに相当
##クエリ文
1.DDL(データ定義言語)文
createテーブルの作成構文
create table [   .]  
(
	#        
	colunmnName1 datatype [default expr],
	...
);
  
create table heros
(
	hero_id int auto_increment primary key,
	hero_name varchar(255) unique,
	mainkind enum ('strength' , 'agility' , 'wit'),
	strength int default '10' not null,
	agility int default '10' not null,
	wit int default '10' not null,
	health int default '200',
	magic int ,
	armor int ,
	hero_increasement int,
	foreign key(hero_increasement) references heros(hero_id)
);

alterテーブル構造の構文の変更
alter table   
add
(
	#        
	column_name1 datatype [default expr],
	...
);
  
alter table heros
add 
(
	move_speed int default '100' not null 
);

        
alter table   
modify column_mane datatype [default expr] [first|after col_name];

  
alter table heros
modify name varchar(255);

      
alter table   
drop column_name

  
alter table heros
drop name;

         
alter table   
rename to    

  
alter table heros
rename to dota_heros;

       
alter table   
change old_column_name new_column_name type [default expr] [first|after col_name]

  
alter table heros 
change blood health int ;

drop削除テーブルの構文
drop table   ; 

   
drop table heros;

turncateテーブル内のすべてのデータをクリア
turncate   ;

2.DML(データ操作言語)文
insert into
指定したデータテーブルにレコードを挿入するための構文フォーマットは次のとおりです.
insert into table_name[(column [,column ...])]
values(value [,value...]);

たとえば
insert into heros(hero_name)
value('axe');
insert into heros
value(null ,'nax' ,'agility',14,18,17,560,380,4,300);

mysqlは一度に複数のレコードを挿入できます
insert into heros(heros_name)
value('rabick' ),
('pugna');

updata
データ・テーブルのレコードを変更するために使用され、毎回複数のレコードを変更できます.where句を使用して、どのレコードを変更するかを定義します.
update table_name
set column1 = value[,column2 = value2 ]...
[WHERE condition];

たとえば
update heros
set strength = 381
where hero_name = 'nax';

delete from
指定したデータテーブルのレコードを削除し、行全体を削除します.複数行の削除をwhere文で指定できます.
delete from table_name
[where condition];

たとえば
delete from heros
where hero_name = 'pugna';

3.DCL(データ制御言語)文
grant
revoke
4.物事制御文
commit
rollback
savepoint
##データベース制約
not null非空拘束
空でない制約、カラムが空でないことを指定
alter table heros
add wit int not null;

テーブルを変更するときに空でない制約を削除できます
alter table heros
modify wit int null;

Unique一意制約
一意の制約で、あるカラムまたは複数のカラムの組合せを作成して重複できません.重複値は表示されませんが、nullは重複できます(null≠null)
alter table heros
add hero_name varchar(255) unique;

または
alter table heros
modify unique(hero_name);

primary keyプライマリ・キー制約
プライマリ・キー制約:カラムの値を指定して、レコード・プライマリ・キー制約が空でない制約とユニーク制約に等しいことを一意に識別します.各テーブルで最大1つのプライマリ・キーが許可されますが、このプライマリ・キーは複数のデータ・カラムで構成できます.
create table heros
(
	hero_num int ,
	hero_name varchar(255),
	primary key (hero_num , hero_name)
);

プライマリ・キー列は、キーワードauto_を介して自己成長特性をサポートします.increment追加
foreign key外部キー制約
外部キー制約:プライマリ・テーブルに属するレコード(プライマリ・テーブルのプライマリ・キー)からロー・レコードを指定します.
create table last_skill
(
	skill_name varchar(255) primary key
);

create table rubick
(
	steal_skill varchar(255),
	foreign key(steal_skill) references last_skill(skill_name)
);

外部キーコンストレイントは、他のテーブルだけでなく、自身も参照できます.
create table heros
(
	strength int primary key,
	health int ,
	foreign key(health) references heros(strength)
);

###checkコンストレイントチェック、mysqlはサポートしていません###コンストレイントを削除するには、まずコンストレイントを定義するときにコンストレイント名を確立します.たとえば、一意のコンストレイントで
create table heros
(
	hero_name varchar(255) unique,
	constraint name unique(hero_name)
);

mysqlでは常にプライマリ・キー制約をprimaryと命名します.