MySQL資料庫(一)__2018.10.29
1.模糊查詢:SELECT *FROM info WHERE 密碼1 LIKE'%89%';
資料庫通過SQL語言來管理。
DDL:資料定義語言
DML:資料操作語言
DQL:資料查詢語言
DCL:資料控制語言
整合開發環境:MAMP、MapServer。
通過寫一些SQL語言來管理和操作資料庫。
更改MySQL命令提示符:
mysql -uroot -p --prompt='\h~\u~\d~\~D';
\h:主機
\u:使用者
\d:當前開啟的資料庫
\D:當前伺服器的日期時間
-D:登陸的同時開啟指定的資料庫。
預設的命令結束符為“;”、或“\g”(可修改)
\c取消當前命令的執行。
檢視當前使用的資料庫
MySQL Windows版本下不區分大小寫。
支援折行操作。
儘量不要使用MySQL關鍵字,如果非要使用則用反引號將其括起來:‘mysql’。
資料庫的名字就是一個識別符號,最好是要有意義的。名稱不要包含特殊字元和MySQL關鍵字。
show warnings;檢視上一步產生的警告資訊。
建立資料庫的同時指定資料的編碼方式:create database if not exits test4 character set='utf-8';
show create database test;//檢視指定資料庫的編碼方式。
修改指定資料庫的編碼方式。
選定資料庫:alter;
開啟指定的資料庫:use database;
檢視當前開啟的資料庫:show database();
在SQL語句中的註釋方式:#或--+註釋內容。
資料表中的列也叫欄位。
資料表是資料庫最重要的組成部分,資料存在資料表中。
create table if not exists tb_name{
欄位名稱 欄位型別 {完整性約束條件},
欄位名稱 欄位型別 {完整性約束條件}
}engine =儲存引擎 charset=編碼方式;
整型:
tinyint:有符號-128~127 無符號0~255;
smailint、medium、int、bigint、bool,boolean(等價於tinyint)。
查手冊:
浮點數(小數):float(M,D)M代表總長度,D代表浮點數佔用的位數。
double(M,D)
decimal[(M,D)]內部以字串形式儲存資料的。
字串型:
char(M),M表示字元個數。
varchar(M)
text
日期和時間資料型別,專門為儲存時間資訊設計的。
time、date、整型儲存時間戳、year
二進位制型別:可以用來存音訊圖片,但一般不會直接將這些資料存在資料庫中,存路徑。
建表語句。
CREATE TABLE IF NOT EXISTS imooc_user(
id INT,
username VARCHAR(20),
upassword CHAR(32),
email VARCHAR(50),
age TINYINT,
card CHAR(11),
tel CHAR(11),
salary FLOAT(8,2),
married TINYINT(1),
addr VARCHAR(100),
sex ENUM('男','女','保密')
)ENGINE=INNODB CHARSET=utf8;
查看錶結構
查看錶結構的三種方式:
desc tb_name;
describe tb_name;
show columns from tb_name;
刪除表:drop table if exists imooc_user;//如果表不存在不會報錯,會報警告。
保證資料的完整性和一致性,這就需要有一個完整性約束條件。
unsigned:無符號,沒有負數,從0開始
zerofill:零填充,當顯示長度不夠的時候可以使用前補0的效果,至指定長度
NOT NULL:非空約束,也就是插入的時候,這個欄位必須給值
default:預設值,如果插入的時候沒有給欄位賦值,則使用預設值
primary key:主鍵,標識記錄的唯一性,值不能重複,一個表只能有一個主鍵
unique key:唯一值,一個表可以有多個欄位是唯一索引,值不能重複
auto_increment:自動增長,只能用於數值列
foreign key:外來鍵約束
保證資料的完整性和一致性。
insert [into] tb_name(id,username,...) values(1,'king',...);
查詢表中所有記錄:select *from tb_name;