MySQL數據庫基本操作
一、MySQL數據庫創建 1.創建庫與表 ■創建庫語句:create database [庫名稱]; ■查庫庫語句:show databases; ■選擇庫語句: use [庫名稱]; ■創建表語句: create table [表名稱]; ■查看表語句: desc [表名稱]; 實例:假設一個公司為一個庫,在庫中建立一個員工表,用於存儲員工的詳細信息。
id
name
age
email
tel
salary
riqi
1
林俊傑
32
[email protected]
18819463269
10000
2015-03-23
2
羅志祥
33
[email protected]
18819463211
9000
2015-03-01
(1)創建一個公司庫 create database accompany; show databases; use accompany;
(2)向庫中創建一張員工表 create table employee( id int primary key auto_increment, name char(3) not null default '', age tinyint not null default 0, email varchar(30) not null default '', tel char(11) not null default '', salary decimal(7,2) not null default 5000.55, riqi date not null default '2015-1-1' )charset utf8; 由下圖可知,創建一張表實質上是對表中列的聲明。數據是以文件的形式放在硬盤(也有放在內存裡的) 。 在聲明列時,不同的列類型占的空間不一樣 ,選列的的原則是夠用,又不浪費且推薦聲明默認值(not null default ())。 ★primary key auto_increment:為id列的約束條件,用於設置為該表的主鍵; ★char(M)或varchar(M):列類型,M表示占用的字符數; ★decimal(M,D):decimal(M,D) :M表示精度(總位數,不包含點);D表示標度(小數位數)
二、表的增刪改查 1.添加/修改/刪除表數據 ■增加一行數據:(思想:往哪張表添加?給哪幾行添加值?分別是什麼值?) insert into 表名 (列1,列2,...,列n) values (值1,值2...,值n); 注:當不標明(列1,...,列n)時,默認插入所有列。 ■修改某行的列數據:(思想:改哪張表?你需要改幾列的值?分別改為什麼值?在哪些行生效?) update 表名 set 列1=新值1, 列2=新值2,where expr; ■刪除行:(思想:你要刪除哪張表的數據?你要刪掉哪些行?) delete from 表名 where expr; ■查看表數據:select * from [表名]; (1)向員工表中增加幾行數據 insert into employee (id,name,age,email,tel,salary,riqi) values (1,'林俊傑',32,'
[email protected]',18819463269,10000.00,'2015-03-25'); (2)刪除/修改數據 delete from employee where id=2; set names gbk; update employee set name='林俊傑' where id=1; 注意:由於我們在創建表時,指定字符編碼為utf8。倘若需要輸入中文字符,則需要更改字符編碼為gbk,否者就會出現 "Incorrect string value:'xC1\xD6\xBF.."錯誤。
2.修改字段及屬性 ■修改表(表中的字段類型、字段名、添加字段、刪除字段、修改表名) ①修改表中字段屬性(不能修改字段名) alter table [表名] modify [字段名] [字段類型] [約束條件] [fisrt|after 列名]; ②修改表中字段名及屬性 alter table [表名] change [源字段名] [修改後的字段名] [字段類型] [約束條件] [fisrt|after 列名]; ③增加表字段 alter table [表名] add [字段名] [字段類型] [約束條件] [first|after 列名]; ④刪除表字段 alter table [表名] drop [字段名]; 注意:[first|after 列名],用於修改字段的排序,其中,after將新增的字段添加在某一字段後;first表示將新建的字段放在該表第一列。 ■修改表名 命令:alter table [表名] rename to [新表名];
(1)修改字段(列)名稱及屬性 alter table employee modify name char(6) not null default '';
3.查詢表 ■查詢表列數據(思想:查那張表?你要選擇那些列來查詢?要選擇哪些行?) select 列1,列2,...,列n from 表名 where exper; 注:exper表達式用於指明查詢哪(些)行的列(列1,列2,...,列n)數據