數據庫操作
創建數據庫
create database 數據庫名稱 [庫選項];
[^create database表示創建數據庫;“數據路名稱”可以是字母,數字和下划線組成的任意字符串;“庫選項“用於設置此數據庫的相關特性,如字符集charset,校對集collate。]:
[^語法中使用的”[]“括起來的選項表示可選參數。]:
[^如果創建的數據庫已存在,則程序會報錯。為了防止這種情況的發生,在創建數據庫時可以在”數據庫名稱“前添加if not exists,表示指定的數據庫不存在時進行創建操作,否則忽略此操作。]:
查看數據庫
-
查看MySQL服務器下的所有數據庫:
show databases;
-
查看指定數據庫的創建信息:
show create database 數據庫名稱;
選擇數據庫
use 數據庫名稱;
數據需要存儲在數據表中,而數據庫中可以包含多個數據表,服務器中可以包含多個數據庫,所以創建數據表時首先需要選擇數據庫。
數據庫選擇除了可以使用use關鍵字外,在用戶登錄MySQL服務器時也可以選擇登錄。基本語法格式如下
mysql -u用戶名 -p密碼 數據庫名;
刪除數據庫
drop database 數據庫名稱;
[^與創建一個已存在的數據庫相同,if not exists語句也適用於刪除數據庫。]:
數據表操作
創建數據表
create [temporary] table [if not exists] 表名;
例如:
#①創建mydb數據庫
mysql>create database mydb;
Query OK, 1 row affected (0.00 sec)
#②選擇mydb數據庫
mysql>use mydb;
Database changed
#③創建goods數據表
mysql> create table goods (
-> id int comment '編號',
-> name varchar(32) comment '商品名',
-> price int comment '價格',
-> des varchar(255) comment '商品描述'
-> );
另一種不用use創建數據表的形式
create table mydb.goods (此處省略字段的定義);
查看數據表
- 查看數據表
show tables [like匹配模式];
- 查看數據表的相關信息
show table status [from數據庫名] [like匹配模式];
修改數據表
- 修改數據表名稱
#語法格式1
alter table 舊表名 rename [to|as] 新表名;
#語法格式2
rename table 舊表名1 to 新表名1[舊表名1 to 新表名2]...
- 修改表選項
alter table 表名 表選項 [=] 值;
查看表結構
- 查看數據表的字段信息
#語法格式1: 查看所有字段的信息
{describe|desc}數據表名;
#語法格式2: 查看指定字段的信息
{describe|desc}數據表名 字段名;
- 查看數據表的創建語句
show create table 表名;
- 查看數據表結構
#語法格式1
show [full] columns from 數據表名 [from數據庫名];
#語法格式2
show [full] columns from 數據庫名.數據表名
修改表結構
-
修改字段名
alter table 數據表名 ahcnge[column] 舊字段名 新字段名 字段類型 [字段屬性];
-
修改字段類型
alter table 數據表名 modify [column] 字段名 新類型 [字段屬性];
-
修改字段的位置
alter table 數據表名 modify [column] 字段名1 數據類型 [字段屬性] [first|after 字段名2];
-
新增字段
#語法格式1 新增一個字段,並可指定其位置 alter table 數據表名; #語法格式2 同時新增多個字段 alter table 數據表名 add [column] (新字段名1 字段類型1, 新字段名2 字段類型2, ···);
-
刪除字段
later table 數據表名 drop [column] 字段名;
刪除數據表
drop [temporary] table [if exists] 數據表1 [數據表2]···;
數據操作
添加數據
-
為所有字段添加數據
insert [into] 數據表名 {values|value}(值1[, 值2]···);
[^若創建的數據表未指定字符集,則數據表及表中的字段將使用默認的字符集iatinl。為解決此問題,可在創建語法后受用“default charset utf8”表示設置字符集,utf8支持世界上大多數國家的字符,通常推薦使用此字符集。]:
-
為部分字段添加數據
insert [into] 數據表名 (字段名1[, 字段名2]···) {values|value} (值1[, 值2]···);
insert [into] 數據表名 set 字段名1=值1 [, 字段名2 =值2]···;
-
一次添加多行數據
insert [into] 數據表名 [(字段列表)] {values|value} (值列表) [, 值列表]···;
查詢數據
-
查詢表中全部數據
select * from 數據表名;
-
查詢表中部分數據
select {字段名1, 字段名2, 字段名3, ···} from 數據表名
-
簡單條件查詢數據
select * |{字段名1, 字段名2, 字段名3, ···} from 數據表名 where 字段名 =值;
修改數據
update 數據表名
set 字段名1=值1 [, 字段名2=值2, ···]
[where 條件表達式]
刪除數據
delete from 數據表名 [where 條件表達式];
注釋
mysql中單行注釋以“#”開始標識,也支持標准sql中“--”單行注釋。但是為了防止“--”與SQL語句中負號和減法運算的混淆,在第二個短橫線后必須添加至少一個控制字符(如空格,制表符,換行符等)將其標識為單行注釋符號。
同時,MySQL也支持標准SQL中的多行注釋“/此處填寫注釋內容/”,它的開始符號為“/”,結束符號為“/“,中間的內容就是要編寫的注釋。