一、MySQL基礎(chǔ)知識
1. MySQL相關(guān)控制
- 連接服務器
- 關(guān)閉服務器
- 管理服務器
二、MySQL基本操作
1. 庫操作
- 新建數(shù)據(jù)庫
- 查詢數(shù)據(jù)庫
- 修改數(shù)據(jù)庫
- 刪除數(shù)據(jù)庫
2. 表操作
- 新增表
- 查看表
- 修改表
- 刪除表
3. 數(shù)據(jù)操作
- 新增數(shù)據(jù)
- 查看數(shù)據(jù)
- 修改(更新)數(shù)據(jù)
- 刪除數(shù)據(jù)
三、其他
討厭簡書不支持Markdown格式目錄。
一、MySQL基礎(chǔ)知識
數(shù)據(jù)庫的操作無非就是增刪改查,具體的包括庫操作、表操作和數(shù)據(jù)的操作。很多人說SQL語句難學,主要還是因為太多種操作而搞得自己都混亂了,所以開始操作前要理清思路,你要干什么,你要操作的是哪里,這樣就不會難了。
最開始要介紹的是MySQL的注釋。MySQL注釋的格式:“-- 注釋”。
MySQL相關(guān)控制
連接服務器 mysql -h -P -u -p
說明:
- h:host
- P:端口
- u:username
- p:password
如果是連接本機的數(shù)據(jù)庫,則只需輸入u與p即可
> mysql -uroot -proot -- uroot表示用戶名為root;proot表示密碼為root,這里大家自行做相應更改
安全起見可以這樣:
> mysql -uroot -p
> root
關(guān)閉服務器
有三種方式:exit、quit、\q
管理服務器
windows下有三種方式進行服務端管理
- windows服務管理(快捷方式為:運行=>services.msc)
- 通過服務命令在dos下管理:(
net 管理服務)
> net stop mysql
- 直接通過執(zhí)行文件(安裝目錄->bin->mysql.exe)
二、MySQL基本操作
MySQL的操作就是對數(shù)據(jù)進行增刪改查。包括庫操作、表操作(字段操作)和數(shù)據(jù)操作。本文以系統(tǒng)性的分好了幾大類,邏輯性較強。
庫操作
新建數(shù)據(jù)庫
create database 數(shù)據(jù)庫名字 [庫選項]
庫選項:可進行字符集設置
> create database mydatabase charset utf8;
查詢數(shù)據(jù)庫
查詢所有:
> show databases; -- 注意show語句查詢該英文是復數(shù)形式,慎重!
模糊查詢:有%和_
> show databases like 'my%'; -- 查詢my開頭,后接任意個字符的數(shù)據(jù)庫
> show databases like 'mydatabas_'; -- 查詢mydatabas后接一個字符的數(shù)據(jù)庫
查詢數(shù)據(jù)庫創(chuàng)建語句:
> show create database `mydatabase`; -- 數(shù)據(jù)庫名字要英文輸入法下的左上角的那個符號包著!
修改數(shù)據(jù)庫(數(shù)據(jù)庫名稱不可修改,只能修改庫選項)
alter database 數(shù)據(jù)庫名字 [庫選項];
刪除數(shù)據(jù)庫
drop database 數(shù)據(jù)庫名字;
表操作
新增表(具體有兩個方式)
create table 表名(字段1 字段類型,字段2 字段類型)[表選項];
表選項:
- 字符集:設置表的字符集
- 存儲引擎:不同存儲和處理數(shù)據(jù)的方式(稍后解釋)
顯式指定數(shù)據(jù):在創(chuàng)建表名時使用(庫.名字)
> create table mydatabase.mytable( id int, -- id為整型
name varchar(10) -- name為字符串
) charset utf8 engine innodb; -- engine默認為innodb,所以可以不填
隱式指定數(shù)據(jù):事先進入到某個數(shù)據(jù)庫(use 數(shù)據(jù)庫名)
> use mydatabase;
> create table mytable2(id int, name varchar(10))
存儲引擎:
- InnoDB:只會創(chuàng)建一個表結(jié)構(gòu)文件,其他的索引和數(shù)據(jù)存放在ibdata1文件(安裝路徑/mysql/data/ibdata1)中
- Myisam:會創(chuàng)建三個文件,結(jié)構(gòu)文件、數(shù)據(jù)文件和索引文件
查看表(必須進入到數(shù)據(jù)庫)
查看表的基本信息:show tables;或show tables like 'pattern';
> show tables; -- 查看所有當前數(shù)據(jù)庫下的表
查看表的創(chuàng)建語句:show create table 表名
> show create table mytable;
查看表結(jié)構(gòu):desc 表名;或describe 表名;或show column from 表名;
修改表(不管修改哪個部分都要加上字段類型)
可以修表的名字、屬性、位置和表的字段的增刪改查
alter table 表名 [add/modify/drop] [column] 字段名字 [字段類型] [字段位置]
重命名:rename 舊表名 to 新表名;
增加字段:alter table 表名 add column 字段類型 [位置]
位置:默認在最后增加。first、after
> alter table mytable add column age int;
修改字段(修改字段位置、類型、名字)
修改字段類型和位置:
> alter table mytable modify name varchar(10) after age;
修改字段名字:alter table 表名 change 舊字段名 新字段名 字段類型 字段位置
> alter table mytable change name second varchar(10);
刪除字段:alter table 表名 drop 字段名;
刪除表
drop table 表名
數(shù)據(jù)操作
新增數(shù)據(jù)
insert into 表名(字段列表) values (值列表);
字段列表可以沒有,以為著值列表里的字段數(shù)必須與表中的字段數(shù)完全一致。
> insert into mytable values (1, 'moumou', 18);
或
> insert into mytable(name, id, age) values ('me', 2, 20);
查看數(shù)據(jù)
select 字段列表 from 表名 [where 條件];
> select * from mytable; -- *表示所有字段
> select name from mytable;
> selct * from mytable where age > 20;
修改(更新)數(shù)據(jù)
updata 表名 set 字段 = 值 [where 條件];
> update mytable1 set age = 19 where id = 1;
刪除數(shù)據(jù)
delete from 表名 [where 條件];
> delete from mytable where id = 2; -- 刪除id=2的記錄
三、其他
- 行(row)和記錄(record)說的是同一個東西
- 列(column)和字段(field)同上