表得增刪改查:
1.表介紹:
id,name,age,***稱為字段,其餘的,一行內容稱為一條記錄。
2.建立表:
語法:create table 表名(
欄位名1 型別[(寬度) 約束條件],
欄位名2 型別[(寬度) 約束條件],
欄位名3 型別[(寬度) 約束條件]
#注意:
1. 在同一張表中,欄位名是不能相同
2. 寬度和約束條件可選
3. 欄位名和型別是必須的
示範:create database db1 charset utf8;
use db1;
create table t1(
id int,
name varchar(50),
*** enum('male','female'),
age int(3)
show tables; #檢視db1庫下所有表名
desc t1;
select id,name,***,age from t1;
select * from t1;
select id,name from t1;
insert into t1 values
(1,'egon','male',18),
(2,'alex','female',20)
insert into t1(id) values
(4),
(5);
mysql> select * from t1;
| id | name | *** | age |
| 1 | egon | male | 18 |
| 2 | alex | female | 20 |
| 4 | null | null | null |
| 5 | null | null | null |
注意:表中的最後乙個字段不要加逗號
3.檢視表結構:
[db1]> describe t1; #檢視表結構,可簡寫為desc 表名
| field | type | null | key | default | extra |
| id | int(11) | yes | | null | |
| name | varchar(50) | yes | | null | |
| *** | enum('male','female') | yes | | null | |
| age | int(3) | yes | | null | |
[db1]> show create table t1\g; #檢視表詳細結構,可加\g
4.修改表結構:
語法:1. 修改表名
alter table 表名
rename 新錶名;
2. 增加字段
alter table 表名
add 欄位名 資料型別 [完整性約束條件…],
add 欄位名 資料型別 [完整性約束條件…];
alter table 表名
add 欄位名 資料型別 [完整性約束條件…] first;
alter table 表名
add 欄位名 資料型別 [完整性約束條件…] after 欄位名;
3. 刪除字段
alter table 表名
drop 欄位名;
4. 修改字段
alter table 表名
modify 欄位名 資料型別 [完整性約束條件…];
alter table 表名
change 舊欄位名 新欄位名 舊資料型別 [完整性約束條件…];
alter table 表名
change 舊欄位名 新欄位名 新資料型別 [完整性約束條件…];
示範:1. 修改儲存引擎
mysql> alter table service
-> engine=innodb;
2. 新增字段
mysql> alter table student10
-> add name varchar(20) not null,
-> add age int(3) not null default 22;
mysql> alter table student10
-> add stu_num varchar(10) not null after name; //新增name欄位之後
mysql> alter table student10
-> add *** enum('male','female') default 'male' first; //新增到最前面
3. 刪除字段
mysql> alter table student10
-> drop ***;
mysql> alter table service
-> drop mac;
4. 修改字段型別modify
mysql> alter table student10
-> modify age int(3);
mysql> alter table student10
-> modify id int(11) not null primary key auto_increment; //修改為主鍵
5. 增加約束(針對已有的主鍵增加auto_increment)
mysql> alter table student10 modify id int(11) not null primary key auto_increment;
error 1068 (42000): multiple primary key defined
mysql> alter table student10 modify id int(11) not null auto_increment;
query ok, 0 rows affected (0.01 sec)
records: 0 duplicates: 0 warnings: 0
6. 對已經存在的表增加復合主鍵
mysql> alter table service2
-> add primary key(host_ip,port);
7. 增加主鍵
mysql> alter table student1
-> modify name varchar(10) not null primary key;
8. 增加主鍵和自動增長
mysql> alter table student1
-> modify id int not null primary key auto_increment;
9. 刪除主鍵
a. 刪除自增約束
mysql> alter table student10 modify id int(11) not null;
b. 刪除主鍵
mysql> alter table student10
-> drop primary key;
5.複製表:
1.複製表結構+記錄 (key不會複製: 主鍵、外來鍵和索引)
mysql> create table new_service select * from service;
2.只複製表結構
mysql> select * from service where 1=2; //條件為假,查不到任何記錄
empty set (0.00 sec)
mysql> create table new1_service select * from service where 1=2; #(key不會複製: 主鍵、外來鍵和索引)
query ok, 0 rows affected (0.00 sec)
records: 0 duplicates: 0 warnings: 0
mysql> create table t4 like employees; # 只複製表結構,連同主鍵會一起複製 ...
6.刪除表:
drop table 表名;
drop table t1;
drop table t1,t2;
萬錶名錶商城鉅惠,11 11名錶超級秒殺低至2折!
11.vfvjsc11 作為各大電商一年一度的大促節點程式設計客棧,現已吹響倒計時號角。知名全球手錶產業網際網路平台萬錶作為奢侈品電商的重要一員,充分發揮平台優勢,以11.11 全球名錶狂歡節,將大促狂熱氛圍推向高潮,以滿滿誠意回饋消費者的信任。據悉,自 11 月 9 日起至 11 月 11 日,萬...
建表主鍵自增 Oracle建表,建主鍵,自增
oracle建表,建主鍵,自增 建表 create table test id number 4 not null primary key,name varchar2 25 序列 create sequence test sequence increment by 1 每次增加幾個 start wi...
SQL查詢資料庫表名 表的列名
讀取庫中的所有表名 select name from sysobjects where xtype u 讀取指定表的所有列名 select name from syscolumns where id select max id from sysobjects where xtype u and na...