本文用的是屌絲學生最愛的 mysql資料庫。
先創幾張基本的表
#班級表
drop table if exists class_tab;
create table class_tab(
class_id varchar(10) primary key,
cla_name varchar(15) not null
);#學生表
drop table if exists stu_tab;
create table stu_tab(
stu_id varchar(15) primary key,
stu_name varchar(15) not null,
class_id varchar(10),
foreign key(class_id) references class_tab(class_id)
);#課程表
drop table if exists cou_tab;
create table cou_tab(
cou_id varchar(15) primary key,
cou_name varchar(20) not null
);#學生-課程關係表
drop table if exists stu_cou;
create table stu_cou(
cou_id varchar(15),
stu_id varchar(15),
primary key(cou_id,stu_id),
#定義外來鍵的另一種寫法
constraint fk_depid_cou foreign key(cou_id) references cou_tab(cou_id),
constraint fk_depid_stu foreign key(stu_id) references stu_tab(stu_id)
);
下面是增刪該查的樣例,將來忘了,可以來回顧。
#增
insert into class_tab values("110","計算機");
insert into stu_tab(stu_id,stu_name) values("110","lincon");
#查select * from stu_tab;
select stu_name from stu_tab;
#從第二條記錄開始取三條記錄
select stu_name from stu_tab order by stu_name limit 1,3;
#刪#刪除所有記錄
delete from stu_tab;
delete from stu_tab where stu_name = 'lincon';
#改update stu_tab set stu_name="jobs" where stu_name="lincon";
#更改模式 安全模式更新操作會有限制 只能用主鍵來定位更新記錄 也就是說每次最多更新一條記錄
set sql_safe_updates = 0;
update stu_tab set stu_name="jobs" where stu_id="110";
主鍵自增長
#主鍵自增長
drop table if exists increa;
create table increa(
aa int primary key auto_increment
);insert into increa values();
下面我們來說說索引
mysql索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b-樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜尋條件的列上已經建立了索引,mysql無需掃瞄任何記錄即可迅速得到目標記錄所在的位置。如果表有1000個記錄,通過索引查詢記錄至少要比順序掃瞄記錄快100倍。
總體分析
primary, index, unique 這3種是一類
primary 主鍵。 就是 唯一 且 不能為空。
index 索引,普通的
unique 唯一索引。 不允許有重複。
fulltext 是全文索引,用於在一篇文章中,檢索文字資訊的。
mysql的索引型別:primary, index,unique,fulltext,spaial 有什麼區別?各適用於什麼場合?
舉個例子來說,比如你在為某商場做乙個會員卡的系統。
這個系統有乙個會員表
有下列字段:
會員編號 int
會員姓名 varchar(10)
會員身份證號碼 varchar(18)
會員** varchar(10)
會員住址 varchar(50)
會員備註資訊 text
那麼這個 會員編號,作為主鍵,使用 primary
會員姓名 如果要建索引的話,那麼就是普通的 index
會員身份證號碼 如果要建索引的話,那麼可以選擇 unique (唯一的,不允許重複)
會員備註資訊 , 如果需要建索引的話,可以選擇 fulltext,全文搜尋。
不過 fulltext 用於搜尋很長一篇文章的時候,效果最好。
用在比較短的文字,如果就一兩行字的,普通的 index 也可以。
舉個栗子,給學生表的姓名列加個普通索引
#增加普通索引
alter table stu_tab add index name_index (stu_name);
不定期更新部落格
也算是乙個真正程式設計生涯的起點,聽說大神都有自己的部落格。csdn部落格主要是作為乙個詳細的記錄場所,類似log的verbose檔,細緻入微,無孔不入,因此可能更新頻率較高,質量也相對較低。我的意思是將csdn這裡的部落格作為日後更加精煉的部落格 比如個人blog站或者github pages 的...
C STL 不定期更新
一 set set的特性是,所有元素都會根據元素的鍵值自動排序,set的元素不像map那樣可以同時擁有實值 value 和鍵值 key set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。include初始化 int arr 5 set iset arr,arr 5 或者只定義...
MySql命令(不定期更新)
show databases 檢視資料庫 create database car 建立資料庫 use car 進入資料庫 show tables 檢視表 create tables mycar 建立表create table if not exists love mycar 如何不存在就建立表 de...