mysql 基礎命令
登陸:mysql -h ip -P port -uroot -p
本地登陸也可以簡寫 mysql -uroot -p
庫的基礎操作:
show databases; 檢視所有的庫
show create database t1 ; 檢視指定庫的詳細資訊
create database t1 charset = 'utf8' ; 建立庫t1
alter database t1 charset = 'gbk' ; 修改庫t1字元編碼
drop database t1; 刪除庫t1
use t1; 切換到t1庫下
select database(); 檢視當前所在庫
表的操作:
show tables; 檢視當前庫下的表
create table student(id int primary key auto_increment ,stu_name char(16) not null ,stu_gender enum('male','female') default 'male' ,stu_hobby set('吃飯','睡覺','打羽毛球')); 建立學生資訊表
id欄位:primary key--設定為主鍵欄位 auto_increment--設定自增
stu_name(學生姓名)欄位:char(16)--字元型別 每個欄位必須要有 16是對輸入內容長度的限制
stu_gender欄位:因為是性別 需要多選一,使用了enum(),列舉 default 'male',預設值為male
stu_hobby 興趣欄位:興趣可以有多個,使用set集合 但是在插入資料時 必須選擇已有內容 不能選擇打遊戲,因為打遊戲我們在建表地時候並沒有提前設定
alter table student modify stu_name char(32); 修改表資訊
alter table student rename new_student; 修改表的名字
alter table student add stu_name char(16); 新增欄位
alter table student modify stu_name char(32) not null; 修改欄位資訊
alter table student change stu_name new_stu_name char(20) not null; 修改欄位資訊 也可以修改欄位名
alter table student drop stu_name; 刪除欄位
判斷表與表的關係;
一對多(外來鍵設定在多的一方)、多對多(新建第三張表來做中介建立關係)、一對一(查詢頻率高的一方設定外來鍵)
表於表之間建關係;
這邊寫一個多對多的例子:
看上圖 多對多 的表關係建立 需要做第三張表來建立關係
圖書表 和 作者表 正常建表就ok 使用第三張表分別和圖書表、作者表建立關係即可;
create table book(id int primary key auto_increment ,book_name char(16), price int);
create table author(id int primary key auto_increment ,author_name char(16),author_age int);
現在新建第三張表來做關係
create table contact(id int primary key auto_increment,book_id int,author_id int,foreign key(book_id) references book(id) on update cascade on delete cascade,foreign key(author_id) references author(id) on update cascade ondelete cascade);
本文來自部落格園,作者:{落葉給樹的留言},轉載請註明原文連結:https://www.cnblogs.com/luoyegeishudeliuyan/p/15523748.html