MySQL學習筆記:資料庫基礎、MySQL基本操作、表的查詢
#選擇資料庫需要考慮的問題:
1、是否開源
開源軟體不一定免費:MySQL,MariaDB(這兩者語法差不多,MySQL可能閉源,但是MariaDB不會)MongoDB
商業軟體一定收費
2、是否跨平臺
不跨平臺:SQL_Server(微軟開發,只在Windows下可用)
跨平臺:MySQL,MariaDB,MongoDB,Oracle,DB2
3、公司型別
商業軟體:政府部門、金融機構(資料庫軟體收費較貴,對安全性要求高)
開源軟體:民營網站
#MySQL特點
是關係型資料庫
1、資料以行和列的形式儲存
2、一系列行和列稱為表
3、表中每一行叫一個記錄
4、表中每一列叫一個欄位
5、表和表之間的邏輯關聯叫做關係
非關係型資料庫
用{"name":"張無忌", "age":13}這樣的形式儲存。
速度快,但是會產生很多冗餘資料
只在資訊較少時綜合性能高
跨平臺
Unix,Linux,Windows上都可以執行
支援多種程式語言
python、java、php......
#mysql服務端操作(ubuntu下)
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status
#mysql客戶端登陸命令
mysql -h主機地址 -u使用者名稱 -p密碼
本地連線時-h可以省略
#基本的mysql命令使用規則
1、每條命令必須以;結尾,否則不執行
2、SQL命令不區分大小寫
3、使用\c終止SQL命令的執行
#mysql庫
在mysql服務之下的一級的單位為庫
每個庫下儲存了若干張表
#mysql庫的基本操作
1、檢視已有的庫:show databases
mysql自帶了四個庫,不要操作,更不要刪除
2、建立庫:
create database database_name'
3、顯示庫的建立過程
show create database existed_database_name;
會顯示字符集,預設為latin1
所以建立時要指定字符集
4、指定字符集建立庫
create database database_name default charset=utf8;
5、檢視當前所在庫
select database();
6、切換庫
use database_name;
7、檢視庫中有哪些表
show tables;
8、刪除庫
drop database database_name
#庫的命名規則
1、可以使用數字、字母、_,但是不能使用純數字
2、庫名區分大小寫
3、不能重名
4、不能使用特殊字元和mysql的關鍵字
#表的名詞:欄位(列)、欄位名、記錄(行)
#表的基本操作:
1、建立表
create table table_name(
欄位名1 資料型別1
欄位名2 資料型別2
... ...
)default charset = utf8;
2、檢視建立表的語句
show create table table_name;
3、查看錶結構
desc table_name;
4、刪除表
drop table table_name;
#表的命名規則:同庫
#mysql是基於硬碟的資料庫
其資料庫目錄為/var/lib/mysql
#在表中插入記錄
insert into 表名 values(值1.1,值2.1 ...),(值1.2,值2.2 ...)
#查詢表記錄
1、select * from 表 [where 條件]
示例:
select * from name_age where name=="Lucy"
2、select 欄位名1,欄位名2,... from 表名 [where 條件]
示例:
select name age from name_age
#更改庫,表的預設字符集
更改MySQL配置檔案實現