特點:
一張表裡面主鍵是唯一的;
主鍵可以用來唯一的標識一行資料,主鍵不能為空。
聯合主鍵:表中字段不能作為唯一標識每一行資料時,選取表中兩個或者多個字段作為聯合主鍵
特點:如果去掉聯合主鍵某個字段,剩下的字段任然可以構成聯合主鍵,那麼說明之前的聯合主鍵是錯誤的
在修改表時新增主鍵
alter table
表名add primary key(
欄位名);
刪除主鍵:
alter table
表名drop primary key;
建立表的時候設定主鍵:
方式一:
create table 表名(
-> id int(11) primary key,
-> name varchar(12)
-> );
方式二:
create table 表名(
-> id int(11),
-> name varchar(12),
-> primary key(id))
建立聯合主鍵:
create table表名(
-> name char(16),
-> gender char(10),
-> birthday date,
-> city varchar(16),
-> primary key(name,city)
-> );
特點:
和主鍵結合使用,
自增字段的資料型別是整數型別
自增的資料開始值是1,沒增加一行資料,自增1
新增自增
create table 表名(
id int(11) primary key auto_increment,
name varchar(25),
location varchar(50) );
設定自增預設值
create table表名(
id int(11) primary key auto_increment,
name varchar(25),
location varchar(50)
)auto_increment=100;
刪除自增
alter table
表名modify id int(11);
在修改表時設定自增
alter table
表名change column id id int(11) auto_increment;
修改表時指定初始值
alter table
表名auto_increment=100;
constraint別名foreign key (
本表要外來鍵的欄位名)references要外來鍵到的表名(欄位名)
表間關係:
一對一一對多多對多
mysql5.6中文支援問題
default charset=gb2312;
檢視建立表是sql
show create table 表名;
外來鍵特點:
外來鍵關聯時主表要先去從表建立
外來鍵字段的值必然在主表中是可以一一對應的
外來鍵可以為空,但是不為空的外來鍵必然可以在主表中跟它對於
外來鍵關聯的必然是主表的主鍵
建立外來鍵約束
create table 表名(
id int(10) primary key auto_increment,
sid int(10),
name varchar(50),
subject varchar(50),
score varchar(50) ,
constraint 別名
foreign key (
本表要外來鍵的欄位名
) references studentinfo
要外來鍵到的表名
(欄位名)
);修改表時新增外來鍵約束
alter table
表名add constraint
別名foreign key (
本表要外來鍵的欄位名
) references
要外來鍵到的表名
(欄位名);
刪除外來鍵約束
alter table
表名drop foreign key
外鍵名
特點:
主鍵在乙個表裡面只能有乙個
但是唯一性約束可以有多個
設定了唯一性約束的字段表中有且只能有乙個空值
建立表的時候設定唯一性約束
create table表名(
id int(11) primary key,
name varchar(25) unique,
location varchar(50) );
修改表的時候新增唯一性約束
alter table
表名add unique(name);
起別名:
alter table
表名add constraint
別名unique(
字段);
刪除唯一性約束
alter table
表名drop index
欄位名;
特點:
在插入資料時,如果不寫入就使用預設值,如果寫入就使用新值
新建表時建立預設值
create table 表名(
id int(11) primary key,
name varchar(25),
location varchar(50) default 'shanghai' );
修改表時建立預設值
alter table
表名change location location varchar(25) default 'beijing';
刪除預設值
alter table lx change location location varchar(50) default null;
特點:
一張表中可以設定多個欄位非空,主鍵預設非空
新建表時設定非空約束
create table表名(
id int(11) not null,
name varchar(35),
location varchar(50) );
修改表時設定非空約束
alter table
表名change name name varchar(34) not null;
刪除非空約束:
alter table
表名change column name name varchar(34) null;
mysql資料庫之python鏈結mysql
使用之前請在命令列pip install pymysql import pymysql 1.建立鏈結 conn pymysql.connect host 127.0.0.1 ip位址 port 3306,埠號 database database name 資料庫名稱 user mysql usern...
初學資料庫
開學一周了,剛好把資料庫的例子全部敲完,初步知道了什麼是資料庫。首先說說在敲例子的過程中遇到的問題。例一 資料可連線測試不成功!後來發現是因為使用的不是vb建立的資料庫,是從電腦裡的隨便乙個地方複製過來的。於是問題得以解決。但是不明白這些資料庫出去內容不同外到底還有什麼區別,為什麼不能連線上。資料庫...
初學 資料庫
從這週開始學習資料庫,不管學什麼,資料庫都是基礎,所以我們一定要認真對待,打好基礎。今天學習了第一章,總結知識點如下 1.使用資料庫的優點 降低儲存資料的冗長度,更高的資料一致性,儲存的資料可以共享,可以建立資料庫所遵循的標準,便於維護資料完整性,能夠實現資料的安全性。2.在資料庫發展歷史上,出現了...