mysql基本概念:
操作語句
1. 運算元據庫:
建立資料庫: create database 資料庫名 charset utf8;
檢視資料庫: show databases;
選擇資料庫: use 資料庫名;
刪除資料庫: drop 資料庫名;
修改資料庫: alter database 資料庫名 charset utf8;
複製**
2. 操作表:
先切換到資料庫下:
建立:create table 表名(欄位名1 型別(寬度) 約束條件,欄位名1 型別(寬度) 約束條件);
檢視:show tables;
修改:alter table 表名 modify 欄位名 型別(寬度);
alter table 表名 change 舊欄位名 新欄位名 型別(寬度);
刪除:drop table 表名;
複製**
3. 操作表中的記錄:
插入:insert into 表名 values(值1,值2.....);
查詢:select * from 表名;
修改:update 表名 set 欄位名=值 where 條件;
刪除:delete from 表名 where 條件;
複製**
約束
為了防止在資料表中插入錯誤的資料,在mysql中定義了一些維護資料庫完整性的規則,這個規則就是表的約束,通過這些約束我們可以保證資料的正確性。
主鍵約束:
當我們的資料庫中儲存了成千上萬條資料時,如何能找到你需要的那條資料呢? mysql提供的主鍵約束即可幫助我們快速的查詢到我們想要的資料。 主鍵是唯一標識一條記錄的,可以把它比喻為身份證號,儘管全世界有那麼多人, 但只要知道了身份證號就可以很快的查詢乙個人的資訊。
外來鍵約束:
表的外來鍵是另一表的主鍵, 外來鍵可以有重複的, 可以是null,用來和其他表建立聯絡用的,乙個表可以有多個外來鍵。
非空約束:
非空約束所對應的列在插入資料時不允許為空,也就是必須為該字段賦值,mysql中使用not null來表時非空約束其語法為:
create table money(time datatime,money int not null);
複製**
唯一約束:
唯一約束用於保證資料表中字段的唯一性,即表中字段不可以出現重複的值, 唯一約束通過unique來指定,其語法格式為:
create table person(id int unique,age int);
複製**
預設值約束:
在一些應用場景下,我們會希望對每一條資料中的某個字段賦予乙個預設值, 例如:在一些遊戲中,每個賬號缺省會贈送給使用者一定數量的金幣,此時金幣這個資料就可以使用預設值約束了,mysql中使用de****t為字段指定預設值其語格式為:
create table user(account char(20),password char(6),money int de****t 1000);
複製**
基本資料型別:
整數tinyint() 1位元組
smallint() 2位元組
mediumint() 3位元組
int() 4位元組
bigint() 8位元組
對於整型而言,寬度用於控制顯示的長度
例如 int(10) 則表示顯示的時候,如果不足10位則補足到10位,預設用空格填充
zerofill 設定以0填充
複製**
浮點float(m,d) 4位元組
double(m,d) 8位元組
decimal(m,d) 不固定
在浮點型別中,後面的m表示整體長度,d表示小數長度
注意:是長度和位元組數無關
複製**
字串char
定長字串,超出範圍會報錯,速度快
varchar
可變長字串,節省空間,速度慢
複製**
時間year
date
time
datetime
timestamp 自動更新
複製**
建立表之間的關係
一對多關係:
1.建立表
建立主表(department)
create table department(id int primary key auto_increment,
department_name char(20) unique,
job char(50) not null);
建立從表(employee)
create table employee(id int primary key auto_increment,
employee_name char(20) not null,
gender char(20),
age int,
foreign key(id) references department(id));
2.插入表
插入主表
insert into department values(1,'市場部','宣傳'),(2,'銷售部','銷售');
插入從表
insert into employee values(1,'jarvis','male',28),(2,'jasion','male',25);
刪除要先刪除從表再刪除主表
刪除記錄也一樣,要先刪從表再刪主表
級聯:on delete cascade 當主表刪除記錄時 從表相關聯的記錄同步刪除
on update cascade 當主表id更新時 從表相關聯的記錄同步更新
主表變化操作從表,從表變化不會操作主表
#例項語句
create table employee(id int primary key auto_increment,
employee_name char(20) not null,
gender char(20),
age int,
foreign key(id) references department(id) on delete cascade);
複製**
多對多關係:
多對多需要有乙個中間表來存貯表的關聯關係
1.建立表
建立主表(teacher)
create table teacher(id int primary key auto_increment,name char(25));
建立主表(student)
create table student(id int primary key auto_increment,name char(25));
建立從表(relation 關係表)
create table relation(id int primary key auto_increment,
t_id int,s_id int,
foreign key(t_id) references teacher(id),
foreign key(s_id) references student(id)
2.輸入值
insert into teacher values
(1,"egon"),
(2,"jack");
insert into student values
(1,"uu"),
(2,"yy");
3.插入對應關係
insert into relation values
(null,1,1),
(null,1,2),
(null,2,2);
複製**
一對一關係:
使用外來鍵來關聯,但是需要給外來鍵加上唯一約束,也就是說兩個一對一是有主從關係的
create table t1(id int primary key auto_increment,name char(20));
create table t2(id int primary key auto_increment,name char(20),
t1_id int unique,
foreign key(t1_id) references t1(id));
#垂直分表:
當乙個表的字段太多,常用字段不多時,可以採取垂直分表的方式來提高效率
複製**
今天邁出第一步,開始了解iphone開發
從昨天開始再次折騰iphone開發,今天終於基本搞定了.不過事先提醒,您的計算機記憶體要是不夠4g,還是別考慮虛擬機器安裝了,不然真受不了這個速度.今天按照上面的配置終於看到了久違的xcode,呵呵 手上的objective c的資料有一本紙質書,一本電子書,兩本書的第乙個例子都是hello wor...
出國第一步 資訊了解
先閱讀一些在同人中口碑較好的書籍或攻略,作為入門第一步。如果同仁堂出了乙個 頭痛的特效藥,你肯定會買。但是要是同仁堂不出呢,你也會考慮其他的牌子,比如北京製藥廠,對嗎?關鍵是他可以解決你的問題,當然,它必須不是假藥或過期藥,對嗎?你肯定聽過北京製藥廠吧,你肯定不會去找那種所謂的包治百病的 萬能藥 對...
開始學習SRS的第一步
其他都是參照那個檔案執行的2 git clone cd srs trunk 3 configure make編譯 4 將以下內容儲存為檔案,譬如conf rtmp.conf,伺服器啟動時指定該配置檔案 srs的conf資料夾有該檔案 conf rtmp.conf listen 1935 max co...