資料庫
學習資料庫就是學習如何和資料庫軟體進行交流,SQL語言就是用于程式員和資料庫軟體進行交流的語言.
DBMS:DataBaseManagementSystem 資料庫管理系統(資料庫軟體),包括:MySQL/Oracle/SQLServer,DB2,SQLite等
常見DBMS介紹:
MySQL:開源 Oracle公司産品,08年MySQL被Sun公司收購,09年Sun公司被Oracle, 原MySQL創始人離開Oracle建立新的資料庫MariaDB 市場占有率第一
Oracle:閉源 Oracle公司産品, 性能最高價格最貴的資料庫. 市占率第二
SQLServer:閉源 微軟公司産品,應用在微軟的整套解決方案中 市占率第三
DB2:閉源 IBM公司産品,應用在IBM整套解決方案中.
SQLite:輕量級資料庫,隻提供基礎的增删改成操作.安裝包幾十k,主要應用在移動裝置和嵌入式裝置中.
網站的整套解決方案包括: 開發語言 作業系統 web伺服器軟體 資料庫軟體
開源和閉源
開源:開發源代碼 免費, 盈利方式:通過賣服務 , 會有程式員無償的提供更新和維護
閉源:不開放源代碼 盈利方式:通過賣産品+賣服務, 會有技術大拿攻擊,但是沒關系閉源産品的公司會養着一群人負責維護和更新.
SQL語言
Structured Query Language:結構化查詢語言, 用于程式員和資料庫軟體(DBMS)進行交流
如何連接配接資料庫軟體: 檢查mysql服務開啟 window鍵+r 輸入services.msc
開始菜單中找到Mysql/MariaDB檔案夾 裡面的 Mysql Client 打開後直接輸入密碼
如果是linux或mac系統 先打開終端 在終端中輸入 mysql -u使用者名 -p回車 回車後輸入密碼 回車
斷開連接配接: 關閉視窗 或執行 exit;
Access denied for user 'root'@'localhost' (using password: YES) 密碼錯誤
資料庫相關SQL語句
往資料庫軟體中儲存資料,需要先建庫再建表,最後再操作表裡面的資料
查詢所有資料庫
格式: show databases;
建立資料庫
格式: create database 資料庫名; 使用預設字元集建立資料
create database db1;
指定字元集格式: create database 資料庫名 character set utf8/gbk;
create database db2 character set utf8;
create database db3 character set gbk;
檢視資料庫詳情
格式: show create database 資料庫名;
show create database db1;
删除資料庫
格式: drop database 資料庫名;
drop database db4;
使用資料庫
對表和資料進行操作時必須先使用了資料庫才可以 不然會報錯
格式: use 資料庫名;
use db1;
資料庫相關練習:
分别建立mydb1和mydb2 第一個字元集utf8 第二個gbk
create database mydb1 character set utf8;
create database mydb2 character set gbk;
查詢所有資料庫檢查是否建立成功
show databases;
分别查詢兩個資料庫的字元集是否成功
show create database mydb1;
show create database mydb2;
先使用mydb1 再使用mydb2
use mydb1;
use mydb2;
删除兩個資料庫
drop database mydb1;
drop database mydb2;
表相關的SQL
操作表時一定保證已經使用了某個資料庫 不然會報以下錯:
ERROR 1046 (3D000): No database selected
建立表
格式: create table 表名(字段名 字段類型,字段名 字段類型);
create table student(name varchar(10),age int);
指定字元集格式: create table 表名(字段名 類型,字段名 類型) charset=utf8/gbk;
create table person(name varchar(10),gender varchar(5))charset=gbk;
查詢所有表
格式: show tables;
查詢表詳情
格式: show create table 表名;
show create table person;
檢視表字段
格式: desc 表名;
desc student;
删除表
格式: drop table 表名:
drop table student;
修改表名
格式: rename table 原名 to 新名;
rename table person to t_person;
添加表字段
最後添加格式: alter table 表名 add 字段名 類型;
最前面添加:alter table 表名 add 字段名 類型 first;
在某個字段後面添加 alter table 表名 add 字段名 類型 after xxx;
alter table t_person add salary int;
alter table t_person add id int first;
alter table t_person add age int after name;
删除表字段
格式: alter table 表名 drop 字段名;
alter table t_person drop salary;
修改表字段
格式: alter table 表名 change 原名 新名 新類型;
alter table t_person change age salary int;