MySQL

一、數據庫簡介

  什麼是數據庫?

  *數據庫就是一個文件系統,但是訪問的時候需要使用標準的SQL語句來訪問數據。

 關係型數據庫

  *存儲的都是實體與實體之間的關係。

  常見的數據庫

  *Oracle:甲骨文公司的數據庫產品,大型的收費數據庫。

  *SQLServer:微軟公司的數據庫產品,中型的收費的數據庫。

  *MySQL:是開源的,免費的數據庫產品,在5.x版本是免費的,6.x是收費的。

  *DB2:IBM公司的數據庫產品,大型的收費的數據庫。

  *SyBASE:已經退出歷史舞臺,Powerdesigner(數據庫建模工具)。


二、MySQL的卸載和安裝

  MySQL的卸載:

  1.先到MySQL的安裝路徑,找到my.ini的配置文件,找到兩個路徑,basedir和datadir。

  2.然後卸載數據庫,再找到以上兩個路徑刪除文件夾。


  MySQL的安裝:

  下一步,下一步即可。


三、root密碼的重置

3.1停止mysql服務

wKiom1jEz4WDmppKAAGsEqS5IBE985.png

wKiom1jEz8PCOy_NAAGV8jUWdHY073.png3.2在cmd輸入一個命令,用來開啓一個MySQL服務,用於登錄的時候不需要驗證

wKioL1jE0EfSwl7fAABuoUifvdI907.png

此時出現上面的窗口,表示已經啓動了那個MySQL的服務,這個時候千萬不能關閉這個窗口。不然服務就失效了。


3.3新打開一個cmd窗口,然後輸入mysql -u root -p ,在上面的服務中,是不要密碼就可以直接進入的。

wKiom1jE0UzykVahAAC81Ls0b5E991.png

3.4輸入命令show databases;可以用來查看數據庫。

wKiom1jE0bOAtOVHAAAbr7YIChM576.png


輸入命令use mysql;使用mysql數據庫。

wKiom1jE0ezgwJm4AAA5GePXTzk480.png3.5修改密碼的語句

update user set password = password('root') where user= 'root';

wKioL1jE0ofjAALXAAAaevF3Wik074.png

3.6將兩個窗口關閉

3.7任務管理器中結束mysqld的進程

wKioL1jE0saRrTIMAACqdUH9_aA494.png

wKiom1jE0ujwb8QgAACsMw6tceM788.png

3.8重啓MySQL服務

wKioL1jE00qQRBhnAAKoliSzAKM435.gif


四、MySQL服務器與數據、表之間的關係

wKiom1jE28ezXoF8AAEIIDHxpGk663.png

五、SQL簡介

*SQL:Structured Query Language,結構化查詢語言。

*特點:非過程性語言

  *過程性語言:當前的這條語句執行需要依賴於上一條或幾條語句。

  *非過程性語言:可一條語句,就會執行一個結果。

*爲加強SQL的語言能力,各廠商增強了過程性語言的特徵

  *如Oracle的PL/SQL過程性處理能力。

  *SQL Server、Sybase的T-SQL。

*SQL是用來存取關係數據庫的語言,具有查詢、操縱、定義和控制關係型數據的四方面功能


六、SQL分類

*DDL(數據定義語言)

  *數據定義語言  Data Definition Language

  *用來定義數據庫的對象,如數據表、視圖和索引等等。

*DML(數據操縱語言)

  *數據操縱語言 Data Manipulation Language

  *在數據庫表中更新、增加和刪除記錄

  *如update、insert、delete。

*DCL(數據控制語言)

  *數據控制語言 Data Control Language

  *用於設置用戶權限和控制事務語言

  *grant、revoke、if...else、while、begin...transaction

*DQL(數據查詢語言)

  *數據查詢語言 Data Query Language

  *select


七、數據庫之--創建數據庫

create database 數據庫名字 character set utf8;

wKiom1jRFczCO_6PAAAhVdNIy7o010.png

案例:創建一個名稱爲mydb1的數據庫。

create database mydb1;

 wKiom1jRFiCTssFfAAAfZo3ZAOs812.png

案例:創建一個使用utf8字符集的mydb2的數據庫。

create database mydb2 character set utf8;

wKioL1jRFn-AZxC2AAArd11quOQ337.png

八、數據庫之--查看數據庫

-- 顯示數據庫語句;
show databases;

wKioL1jRFtuSxy1sAAAgyii43Qo606.png


九、數據庫之--顯示數據庫定義信息

-- 顯示數據庫定義信息
show create database 數據庫名字;

wKiom1jRF1qR_40_AABBU0d9WeA906.png

wKiom1jRF33jX5tUAAAk8de4N1w652.png


十、數據庫之--數據庫刪除

drop database 數據庫名稱;

wKiom1jRF-HgUh58AABCTMu5QUU361.png

十一、數據庫之--修改數據庫

alter database if not exists 數據庫名稱 [default] character set utf8;

wKioL1jRGK-g1uKmAABFzycv710084.png

十二、數據庫之--切換數據庫

use 數據庫名稱;

wKiom1jRGRGyKm0TAAARnhavF4w327.png

十三、數據庫之--查看當前使用的數據庫

select database();

wKioL1jRGVqTA9znAAAXyJ85BkQ904.png

十四、數據表之--創建數據表

craete table 表名(
    字段1 類型(長度) 約束,
    字段2 類型(長度) 約束,
    字段3 類型(長度) 約束
);

注意:

  表名小括號,後面要有分號。

  每一行字段後面要有逗號,但是最後一行沒有逗號。

  數據類型後面有長度,如果是字符串類型,長度必須加。如果其他類型可以不加。默認長度。


數據類型:

  字符串類型:

varchar長度是可變的。
char長度是不可變的。

  大數據類型:

bolb二進制文件
text字符

  數值型:

tinyintsmallintintbigintfloatdouble

  邏輯型:

bit

  日期型:

date只包含日期
time只包含時分秒
datetime包含日期和時分秒
timestap包含日期和時分秒,如果不傳入數據,默認選擇當前系統時間


案例:創建表

create table employee(
	id int,
	name varchar(20),
	gender varchar(10),
	birthday date,
	entry_date date,
	job varchar(100),
	salary double,
	resume text
);

wKiom1jRHA7zw506AAAk1DJ0LbI195.png

十五、數據表之--顯示所有的數據表

show tables;

wKioL1jRHFvB_C1-AAAYXdUPOZs453.png


十六、數據表之--單表的約束

  主鍵約束:標識標記該條記錄,通過primary 可以 聲明主鍵。(默認唯一和非空)

  唯一約束:值是唯一的,使用unique聲明。

  非空約束:值不能爲空,not null


十七、數據表之--使用約束創建表

create table employee2(
	id int primary key auto_increment,
	name varchar(20) unique not null,
	gender varchar(10) not null,
	birthday date not null,
	entry_date date not null,
	job varchar(100) not null,
	salary double not null,
	resume text not null
);

wKiom1jRHWTBsqYyAAA7iYhQIMM478.png                

十八、數據表之--查看錶的信息

desc 表名;

wKiom1jRHaHTRoPMAABC8ocH_HY561.png

十九、數據表之--查看建表語句和字符集

show create table 表名;

wKiom1jRHgygoqaNAABfYosDlKY602.png


二十、數據表之--刪除表

drop table 數據表名稱;

wKioL1jRHl2ywWAtAAAhF6spX6M061.png

二十一、數據表之--修改表

wKioL1jRHseR0Pi4AABAshqazc8259.png

添加字段:

alter table 表名 add 字段 類型(長度) 約束;

wKiom1jRHyLBWI47AABc1Nas5u8324.png

刪除字段

alter table 表名 drop 字段;

wKioL1jRH5OCxPwLAABRHdYY1oo326.png

修改類型或者約束

alter table 表名 modify 字段 類型(長度) 約束;

wKioL1jRIAmgtvQwAABSN-i2TKA754.png

修改字段的名稱

alter table 表名 change 舊字段 新字段 類型(長度) 約束

wKiom1jRIJqjzg_pAABR9y0sQqI779.png

修改表名

rename table 表名 to 新表名;

wKioL1jRIO_Dbtl7AABZygCDMww182.png

修改字符集

alter table 舊錶名 character set utf8;


二十二、數據之增加

添加數據

insert into 表名 (字段,字段,字段) values(值1,值2,值3);
insert into 表名 values(值1,值2,值3);

注意:

  數據與字段的類型相同。

  字段長度需要控制。

  字符串或者日期類型需要使用''。


wKiom1jRI92DE2KgAAA-FmloNRo547.png

向user表中插入數據。

insert into user values (null,'xiaofeng','1994-10-10','2011-1-1','HR',19000,'abc');
insert into user values (null,'美美','1994-10-10','2011-1-1','HR',19000,'abc');
insert into user values (null,'小風','1994-10-10','2011-1-1','WORKER',21000,'abc');
insert into user values (null,'芙蓉','1994-10-10','2011-1-1','HR',1000,'abc');
insert into user values (null,'班長','1994-10-10','2011-1-1','HR',100,'abc');

wKioL1jRJDCSloh4AAA90rT7jpM334.png

二十三、數據之修改

update 表名 set 字段=值,字段=值 [where]

如果沒有where條件,默認更新所有的記錄。

有where的話,則更新一條或幾條。


案例:將所有員工的薪水修改爲5000元。

wKiom1jRJNKC2v3YAABOlgj2Kdk738.png

案例:將姓名爲班長的員工的薪水修改爲3000元。

wKioL1jRJZqykvBMAACGKXl47iI484.png

二十四、數據之刪除

delete from 表名 [where]

案例:刪除表中名稱爲'班長'的數據

wKioL1jRJgyBhsrkAAB402k45zQ343.png


二十五、數據之查詢

select * from 表名;
select 字段1,字段2 from 表名 ;

案例:查詢所有的用戶信息

wKiom1jRJomxopgnAAA3_7YT43I507.png


案例:查詢用戶的姓名、生日信息

wKiom1jRJvWy1eNUAAAlaFalNh8239.png

使用where條件過濾

select * from 表名[where];
select 字段1,字段2 from 表名[where] ;

案例:查詢芙蓉的信息

wKiom1jRJ2nCBnq2AAAmKONbhm4995.png

使用order by排序

案例:對用戶的生日進行排序(降序)

wKiom1jRJ9OxUilCAAA54hmp4hU903.png

分組函數

count()、max()、min()、avg()、sum()

案例:求用戶信息總共多少人,總工資是多少,最高工資和最低工資是多少,平均工資是多少。

wKioL1jRKa6ijUGMAAAhW_GhDCA388.png





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章