數據庫概述 數據庫入門

數據庫概述

存放數據的方式

  • 1.存在內存中
  • 2.保存在普通文件中
  • 3.保存在數據庫中

什麼是數據庫

存儲數據的倉庫,用戶可以對數據庫中的數據進行增加,修改,刪除及查詢操作(sql語言)。

數據庫的優點-

數據庫是按照特定的格式將數據存儲在文件中,通過SQL語 句可以方 便/*-的對大量數據進行增、刪、改、查操作,數據庫是對大量的信息進行管理的高效的解決方案。-

數據庫管理系統(DBMS)

數據庫管理系統(DataBase Management System,DBMS):指一種操作和管理數據庫的大型軟件,用於創建、使用和維護數據庫,對數據庫進行統一管理和控制,以保證數據庫的安全性和完整性。用戶通過數據庫管理系 統訪問數據庫中表內的數據

數據庫管理系統、數據庫和表的關係

數據庫管理系統可以管理多個數據庫,每個數據庫中可以有多張數據庫表。

常見數據庫

  • MYSQL :開源免費的數據庫,小型的數據庫.已經被Oracle收購了.MySQL6.x版本也開始收費。
  • Oracle:收費的大型數據庫,Oracle公司的產品。Oracle收購SUN公司,收購MYSQL。
  • DB2:IBM公司的數據庫產品,收費的。常應用在銀行系統中.
  • SQLServer:MicroSoft 公司收費的中型的數據庫。C#、.net等語言常使用。
  • SyBase:已經淡出歷史舞臺。提供了一個非常專業數據建模的工具PowerDesigner。
  • SQLite: 嵌入式的小型數據庫,應用在手機端。

安裝MySql數據庫

卸載: 使用軟件管理工具,手動刪除 

    細節:不止要刪除數據庫,還要將保存數據的文件給手動刪除了,如果不刪除無法正常安裝新的數據庫

啓動和關閉mysql

細節注意:mysql的服務必須是啓動狀態下才是使用

  • 啓動和關閉mysql:
    • 方式1:操作windows服務
    • 方式2:dos命令中操作mysql
      • net start mysql 開啓mysql服務
      • net stop mysql 停止mysql服務

登錄和退出mysql數據庫

第一種:

  • mysql -u用戶名 -p密碼
    例如:mysql -uroot -proot

第二種

  • mysql -u用戶名 -p
  • 密碼

退出

  • exit
  • quit
  • ctrl + c

sql語句

簡介

概述

結構化查詢語言(Structured Query Language)簡稱SQL,SQL語句就是對數據庫進行操作的一種語言。

   數據庫是不認識JAVA語言的,但是我們同樣要與數據庫交互,這時就需要使用到數據庫認識的語言---SQL語言

作用:

通過Sql語言可以對數據庫管理系統中的數據庫,表,表中的數據進行增刪改查(crud)。

sql分類和語法

分類:(面試題)

1.DDL(Data Definition Language)數據定義語言

 用來操作數據庫和表

關鍵字:create,drop,alter等

2.DML(Data Manipulation Language)數據操作語言

用來對數據庫中表的數據進行增刪改

關鍵字:insert,delete, update等

3.DQL(Data Query Language)數據查詢語言

用來對數據庫中表的數據進行查詢

關鍵字:select,from,where等

4.DCL(Data Control Language)數據控制語言(瞭解)

用來定義數據庫的訪問權限和安全級別,及創建用戶。

關鍵字:grant, revoke等

5.TCL(Transaction Control Language) 事務控制語言

用於控制數據庫的事務操作

關鍵字: commit,rollback等

sql語法

1 SQL語句可以單行或多行書寫,以分號結尾
2 可使用空格和縮進來增強語句的可讀性
3 MySQL數據庫的SQL語句不區分大小寫
4 可以使用-- 或# 或/**/的方式完成註釋

DDL(數據定義語言)

操作數據庫

1-創建數據庫

創建數據庫 (掌握)

		create database 數據庫名;

						默認字符集是安裝mysql時選擇的字符集 (utf8)

判斷是否存在並創建數據庫(瞭解)

		create database if not exists 數據庫名;

創建數據庫並指定字符集(瞭解)

		create database 數據庫名 character set 字符集;

2-查詢數據庫

查詢所有數據庫

	show databases;

查看某個數據庫的定義信息

	 show create database 數據庫名稱;

3-修改數據庫(瞭解)

修改數據庫字符集格式

	alter database 數據庫名  character set 字符集;

4-刪除數據庫

drop database 數據庫名;

5-數據庫的其他操作

查看當前使用的數據庫

	select database();

切換數據庫

	use 數據庫;

操作表

條件:首先要進入到指定的數據庫中

創建表

create table 表名(
			字段名1 字段類型1[長度],
			字段名2 字段類型2[長度]   
			.....
		)
ps:只有字符串類型需要手動加長度,其它類型都不需要加長度(默認有)

-- 需求: 創建一個學生表(id name sex)

數據類型:
java的數據類型      mysql數據庫的數據類型
int		    			int
float		    		float
double		    		double

char/string	    		varchar
date		    		date      yyyy-MM-dd
		    			time      HH:MM:SS
		    			datetime  YYYY-MM-DD HH:MM:SS  

查看錶

查看某個數據庫中的所有表:  show tables;

查看錶結構:  desc 表名稱;

查詢建表語句: show create table 表名;

快速創建表結構: create table 新表名 like 舊錶名;

修改表結構

添加表列 :   alter table 表名 add 列名 類型;

刪除表列 : alter table 表名 drop 列名;

修改列名 : alter table 表名 change 舊名稱 新名稱 類型;

修改列類型  :   alter table 表名 modify 列名 新類型

修改表名稱 : rename table 舊錶名 to 新表名;

刪除表

直接刪除表: drop table 表名;

判斷表是否存在並刪除表(瞭解):   drop table if exists 表名;

DML(數據操作語言)–重點

插入記錄

添加全部字段

方式一:insert into 表名 (字段名1, 字段名2, 字段名3…) values (值1, 值2, 值3);    

方式二:insert into 表名 values (值1, 值2, 值3);  

添加部分字段

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

注意事項

值與字段必須對應,個數相同,類型相同

值的數據大小必須在字段的長度範圍內

除了數值類型外,其它的字段類型的值必須使用引號引起。

如果要插入空值,可以不寫字段,或者插入null

DOS命令窗口操作數據亂碼問題的解決(瞭解)

  • 錯誤說明:
    當我們使用DOS命令行進行SQL語句操作如有有中文會出現亂碼,導致SQL執行失敗
  • 錯誤原因:
    因爲MySQL的設置編碼是utf8,而系統的DOS命令行編碼是gbk,編碼不一致導致的亂碼
  • 解決方案:
    設置mysql編碼方式
    • 快捷設置(臨時)
      set names gbk;
    • 修改配置文件(永久)
      1 my.ini文件,在[mysql]設置字符集:GBK
      2 重啓mysql服務

蠕蟲複製

在已有的數據基礎之上,將原來的數據進行復制,插入到對應的表中

前提:表結構得一致

語法格式: insert into 新表 select * from 舊錶;

修改記錄

不帶條件修改數據 : update 表名 set 字段名 = 值,字段名 = 值 ;  全改

根據條件修改數據 : update 表名 set 字段名 = 值,字段名 = 值 where 字段名=值; 按條件改

刪除記錄

不帶條件刪除數據: delete from 表名;   全刪

根據條件刪除數據: delete from 表名 where 字段名=值; 按條件刪

truncate刪除表記錄: truncate 【table】 表名;  全刪

truncate和delete的區別:(面試題)

	delete是將表中的數據一條一條刪除

	truncate是將整個表摧毀,重新創建一個新的表,新的表結構和原來表結構一模一樣

        delete刪除的數據可以還原  truncate的數據無法還原

DQL(數據查詢語言)

簡單查詢:

查詢所有列:  select * from 表名;

查詢指定列:  select 字段名1,字段名2... from 表名; 

別名查詢:  select 字段名1 as 別名, 字段名2 as 別名... from 表名 as 表別名; 

清除重複值:  select distinct 字段名 from 表名;

查詢結果參與運算: select 列名1 + 固定值 from 表名;(參數運算的字段必須爲數值型)

1 查詢所有的商品
2 查詢商品名稱和商品價格
3 使用別名查詢商品:as  as可以省略
4 去重查詢 查詢去重之後的價格 distinct
5 運算查詢 查詢價格,將價格的增加100

總結

1 數據庫的概念 
	   用來存儲數據的倉庫,倉庫需要DBMS系統創建,在硬盤上,所有數據也在硬盤上
	   要想操作倉庫中的數據,必須得使用sql語句
2 DBMS系統的安裝
	    mysql    見參考大綱  細節:卸載
	    oracle
	    db2
	    sqlserver
3 sql語句操作數據庫
	     1 使用sql語句告訴dbms系統做數據庫的crud      ddl分類
	     2 使用sql語句告訴dbms系統做數據庫表的crud    ddl分類
	     3 使用sql語句告訴dbms系統做數據庫表上數據的增刪改 dml分類
	     4 使用sql語句告訴dbms系統做數據庫表上數據的查     dql分類
	    							    簡單查詢
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章