MySQL使用(數據表)

數據表簡單操作(注意:語句後要有分號)

1、顯示某個數據庫中的所有表:

show tables; 

2、顯示數據表的結構:desc 表名;
示例:

desc personTable;

或:show columns from 表名;
示例:

show columns from personTable;

3、創建數據表:
(1)設置主鍵primary key唯一性:create tabel 表名(字段名稱 字段類型, ……);
示例:

create table personTable (personID int, name varchar(20), gender varchar(10), primary key(personID)); 

或判斷表是否不存在 if not exists才新建:

create table if not exists personTable (personID int, name varchar(20),gender varchar(10),primary key(personID));

或某個字段自增auto_increment

create table if not exists moneyTable (moneyID int auto_increment,personID int,date varchar(10),money decimal,primary key(moneyID));

(2)創建臨時表temporary(臨時表只在當前連接可見,當關閉連接時,Mysql會自動刪除表並釋放所有空間。如果你使用了其他MySQL客戶端程序連接MySQL數據庫服務器來創建臨時表,那麼只有在關閉客戶端程序時纔會銷燬臨時表,當然你也可以手動銷燬。):create temporary table 表名 (字段名稱 字段類型,...);
示例:

create temporary table bookTable (bookID int, bookName varchar(20),bookMoney double);

(3)複製表
()只複製表結構(沒有表數據):create table 新表名 like 舊錶名;
示例:

create table moneyTmp like moneyTable;

(b)複製表結構和表數據:create table 新表名 select * from 舊錶名;
示例:

create table moneyTmp select * from moneyTable;

(c)複製指定表字段並改字段名稱和表數據:create table 新表名 as select 舊字段名 as 新字段名,... from 舊錶名;
示例:

create table moneyTmp as select moneyID as id,personID,date as time,money from moneyTable;

4、數據表中列的操作:
(1)添加新列:alter table 表名 add 字段名稱 字段類型;
示例:

alter table personTable add age int;

(2)刪除列:alter table 表名 drop 字段名稱;
示例:

alter table personTable drop age;

(3)修改列名稱:alter table 表名 change 修改前字段名稱 修改後字段名稱 修改後字段類型;
示例:

alter table personTable change job gangwei varchar(20);

(4)修改列類型:alter table 表名 modify 字段名稱 修改後字段類型;
示例:

alter table personTable modify name char(30);

5、刪除數據表:drop table 表名;
示例:

drop table personTable;

6、複製表:create table 新表名 like 被複製表名;
示例:

create table personTmp like personTable;

7、數據簡單操作
(1)查詢數據:select * from 表名 where 字段 = 值;
示例:
查詢全部:

select * from personTable;

條件查詢:

select * from personTable where age = 35;

或:

select name,age,gender from personTable;

或某個值非空的條件:

select * from personTable where schoolID is not null;

或某個值爲空的條件:

select * from personTable where schoolID is null;

或:

select name,age,gender from personTable where personID=1000;

或:

select * from personTable where age=30 or age=35;

或like模糊匹配:

select * from personTable where name like 'ios%';

或like模糊匹配時的並列多條件:

select * from personTable where name like 'ios%' and age=35;

或升序(默認升序):

select * from personTable order by age asc;

或降序:

select * from personTable order by age desc;

或雙表查詢去掉重複使用union

select schoolID from personTable union select schoolID from schoolTable;

或雙表查詢不去掉重複union all

select schoolID from personTable union all select schoolID from schoolTable;

或結果分組group by計算個數count(*)

select job,count(*) from personTable group by job;

或結果分組(含計算個數,總數):

select coalesce(job,'總數'),count(*) from personTable group by job with rollup;

join連表查詢某個值相同:

select a.personID,a.name,a.gender,a.age,b.name from personTable a join schoolTable b on a.schoolID=b.schoolID;

(2)插入數據:
(a)insert into 表名 (字段1, ……) values (值1, ……);
示例:

insert into personTable (personId, name, gender, age) values (1000, 'devZhang', "male", 35);

(b)避免重複數據ignore需要設置primary key主鍵:insert ignore into 表名 (字段名,...) values (值,...);
示例:

insert ignore into tmpTable (name,time) values ('devZhang','201806');

(3)更新數據:update 表名 字段=值,…,字段n=值n where 字段=值;
示例:

update personTable set age = 25,name = "uiChen",gender='female' where personId = 1001;

(4)刪除數據:delete from 表名 where 字段=值;
示例:

delete from personTable where age = 23;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章