mysql數據庫入門操作,mysql數據庫高級教程

本文目錄一覽:

MySQL數據庫基礎+ 數據庫的基本操作?

需要用的資料以鏈接的形式給需要的同學。

我用的mysql版本為: Mysql-5.5.45-win64.msi 密碼是:26zw

圖形化工具 Navicat(前期不推薦用,直接手動敲): Navicat 密碼:c7fs

開始我的MySQL之旅吧 始於2016.12.04

–WH

一、數據庫的安裝

這個就不在這裡過多闡述了,因為網上實在是太多安裝mysql的教程了,有了我給的mysql,在按照這個安裝教程(MySQL安裝教程)去看,就能夠安裝完好。

安裝好mysql後,如果需要使用windows命令窗口(也就是cmd)來操作mysql,那麼就需要配置環境變量,在安裝好的mysql下找到bin,將其目錄放到環境變量path中去,就行了,檢測成功與否的方法是在cmd命令窗口中輸入mysql,就會出現一大段英文,就說明成功了,反之失敗,如果不會的話就去百度搜教程。

二、數據庫的基本操作

1、開啟mysql服務命令

net start mysql

2、進入mysql的兩種方式

明文進入:mysql -uroot -proot格式:mysql -u帳號 -p密碼

密文進入:mysql -uroot -p 按enter會提示你輸入密碼(Enter pssword:),此時你寫的密碼就會顯示為***這樣。

3、查看mysql中所有的數據庫(一般在固定的單詞命令就會是用大寫,這個要習慣,看多了敲多了就認識了)

前面四個數據庫是mysql中自帶的,也就是必須的.

SHOW DATABASES;

4、創建名為test_1的數據庫

格式:CREATE DATABASE 數據庫名

CREATE DATABASE test_1;

5、刪除名為test_1的數據庫

格式:DROP DATABASE 數據庫名

DROP DATABASE test_1;

總結:學習了對數據庫的三個操作,1、查看所有數據庫 2、創建數據庫 3、刪除數據庫

三、數據表的基本操作

數據表和數據庫還有Mysql三者的關係

mysql中保存了很多數據庫、一個數據庫中可以保存很多表。

對數據表的增(創建表)刪(刪除表)改(修改表字段)查(查詢表結構)。 注意:這裡的操作對象是表,對錶的操作也就是表的結構,和表中的字段的操作(字段和記錄要分清楚)

前提:表是在數據庫下的,所以要先確實使用哪個數據庫。

USE test_1;

1、創建數據表

格式:CREATE TABLE 數據表名(

 字段名1數據類型[列級別約束條件],

 字段名2數據類型[列級別約束條件],

 字段名3數據類型[列級別約束條件]

 ); 

注意:格式不一定需要這樣隔着寫,完全可以全部寫成一行。但是那樣寫可觀性非常差。我這樣寫只是為了可以看的更清晰。

解釋:

1、[]中括號中的內容表示可以有可以沒有,

2、列級別這個“列”一定要搞清楚說的是什麼,一張表中有行有列,列表示豎,行表示橫 

3、約束條件後面會講到

1.1、創建沒有約束的student表

 CREATE TABLE student( idINT(11), nameVARCHAR(12), ageINT(11)  );

注釋:SHOW TABLES 查詢數據庫底下的所有表。

1.2、創建有約束的student表

 六大約束:主鍵約束、外鍵約束、非空約束、唯一約束、默認約束、自動增加

1.2.1:主鍵約束

PRIMARY KEY(primary key):獨一無二(唯一)和不能為空(非空),通俗的講,就是在表中增加記錄時,在該字段下的數據不能重複,不能為空,比如以上面創建的表為例子,在表中增加兩條記錄,如果id字段用了主鍵約束。則id不能一樣,並且不能為空。一般每張表中度有一個字段為主鍵,唯一標識這條記錄。以後需要找到該條記錄也可以同這個主鍵來確認記錄,因為主鍵是唯一的,並且非空,一張表中每個記錄的主鍵度不一樣,所以根據主鍵也就能找到對應的記錄。而不是多條重複的記錄。如果沒有主鍵,那麼表中就會存在很多重複的記錄,那麼即浪費存儲空間,在查詢時也消耗更多資源。

一般被主鍵約束了的字段度習慣性的稱該字段為該表的主鍵

單字段主鍵約束

兩種方式都可以

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12),nameVARCHAR(12),

ageINT(11) ageINT(11),

); PRIMARY KEY(id) );

多字段主鍵約束(複合主鍵)

這個id和name都市主鍵,說明在以後增加的插入的記錄中,id和name不能同時一樣,比如說可以是這樣。一條記錄為id=1,name=yyy、另一條記錄為:id=1,name=zzz。 這樣是可以的。並不是你們所理解的兩個字段分別度不可以相同。

CREATE TABLE student(CREATE TABLE student(

idINT(11) PRIMARY KEY,idINT(11),

nameVARCHAR(12) PRIMARY KEY, nameVARCHAR(12),

ageINT(11) ageINT(11),

);PRIMARY KEY(id,name) );

1.2.2:外鍵約束

什麼是外鍵舉個例子就清楚了,有兩張表,一張表是emp(員工)表,另一張表是dept(部門)表,一個員工屬於一個部門,那麼如何通過員工能讓我們自己他在哪個部門呢?那就只能在員工表中增加一個字段,能代表員工所在的部門,那該字段就只能是存儲dept中的主鍵了(因為主鍵是唯一的,才能確實是哪個部門,進而代表員工所在的部門,如果是部門名稱,有些部門的名稱可能是同名。就不能區分了。),像這樣的字段,就符合外鍵的特點,就可以使用外鍵約束,使該字段只能夠存儲另一張表的主鍵。如果不被外鍵約束,那麼該字段就無法保證存儲進來的值就一定是另一張表的主鍵值。

外鍵約束的特點:

1、外鍵約束可以描述任意一個字段(包括主鍵),可以為空,並且一個表中可以有多個外鍵。但是外鍵字段中的值必須是另一張表中的主鍵。

2、這樣被外鍵關聯的兩種表的關係可以稱為父子表或者主從表。子表(從表)擁有外鍵字段的表,父表(主表)被外鍵字段所指向的表。

3、子表被外鍵約束修飾的字段必須和父表的主鍵字段的類型一樣。

注意:一個表中有被外鍵修飾的字段,就稱該表有外鍵(是“有外鍵”。而不是“是外鍵”),並會給該表中的外鍵約束取一個名稱,所以我們常說的這個表有沒有外鍵,指的不是被外鍵約束修飾的字段名,而是指這個表是否有存在外鍵約束。也就是說,不能說這個表的外鍵是xxx(該表中被外鍵約束修飾的字段名),這種說法是錯誤的,但是大多數人已經習慣了這樣,雖然影響不大,但是在很多時候需要理解一個東西時,會造成一定的困擾。

格式:CONSTRAINT外鍵名稱FOREIGN KEY(被外鍵約束的字段名稱)REFERENCES 主表名(主鍵字段)

英文解釋:CONSTRAINT:約束REFERENCES:參考

CREATE TABLE tableA

(

id INT(11),

name VARCHAR(22),

location VARCHAR(50),

PRIMARY KEY(id)

);

CREATE TABLE tableB

(

id INT(11),

name VARCHAR(22) NOT NULL,

deptId INT(11),

PRIMARY KEY(id),

CONSTRAINT tableA_tableB_1 FOREIGH KEY(deptId) REFERENCES tableA(id)

);

 解釋:tableB中有一個名為tableA_tableB_1的外鍵關聯了tableA和tableB兩個表,被外鍵約束修飾的字段為tableB中的deptId,主鍵字段為tableA中的id 

1.2.3:非空約束

NOT NULL. 被該約束修飾了的字段,就不能為空,主鍵約束中就包括了這個約束

CREATE TABLE tableA

(

id INT(11),

name VARCHAR(22) NOT NULL,

location VARCHAR(50),

PRIMARY KEY(id)

);

1.2.4:唯一約束

UNIQUE 被唯一約束修飾了的字段,表示該字段中的值唯一,不能有相同的值,通俗點講,就好比插入兩條記錄,這兩條記錄中處於該字段的值不能是一樣的。

  CREATE TABLE tableA

(

id INT(11),

name VARCHAR(22) UNIQUE,

location VARCHAR(50),

PRIMARY KEY(id)

);

也就是說在插入的記錄中,每條記錄的name值不能是一樣的。

1.2.5:默認約束

Default 指定這一列的默認值為多少,比如,男性同學比較多,性別就可以設置為默認男,如果插入一行記錄時,性別沒有填,那麼就默認加上男 

CREATE TABLE table

(

id INT(11) PRIMARY KEY,

name VARCHAR(22) NOT NULL,

deptId INT(11) DEFAULT 1111,

salary FLOAT

);

1.2.6:自動增加

AUTO_INCREMENT 一個表只能一個字段使用AUTO_INCREMENT,並且使用這個約束的字段只能是整數類型(任意的整數類型 TINYINT,SMALLIN,INT,BIGINT),默認值是1,也就是說從1開始增加的。一般就是給主鍵使用的,自動增加,使每個主鍵的值度不一樣,並且不用我們自己管理,讓主鍵自己自動生成

CREATE TABLE table ( id INT(11) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(22) NOT NULL );

2、查詢表結構

2.1、查看錶基本結構語句

格式1:DESCRIBE 表名/DESC 表名這兩個的功能是一樣的,簡寫了單詞describe

DESCRIBE student;

2.2、查看創建表的語句 

 格式:SHOW CREATE TABLE 表名

 SHOW CREATE TABLE student;

這樣顯示的格式很不好,看不清楚,所以有了下面這個語句

格式:SHOW CREATE TABLE 表名\G

SHOW CREATE TABLE student\G;

3、修改數據表

修改數據表包括:對表中字段的增加、刪除、修改。 在這個裡面用的關鍵字為 ALTER

3.1、修改表名

格式:ALTER TABLE舊錶名 RENAME[TO]新表名;

將student表名改為student1(改完後在改回來)

ALTER TABLE student RENAME TO student1;

3.2、修改表中的字段名

格式:ALTER TABLE表名 CHANGE舊字段名新字段名新數據類型

將student表中的name字段名改為 username

ALTER TABLE student CHANGE name username VARCHAR(30);

3.3、修改表中的數據類型

格式:ALTER TABLE表名 MODIFY字段名數據類型 

ALTER TABLE student MODIFY username VARCHAR(20);

解釋:只能修改字段名的數據類型,但是其原理跟上面change做的事情一樣,這裡也有修改字段名的過程,只不過修改後的字段名和修改前的字段名相同,但是數據類型不一樣。

3.4、修改字段的排列位置

 方式1:ALTER TABLE表名 MODIFY字段1數據類型 FIRST|AFTER字段2

 解釋:將字段1的位置放到第一,或者放到指定字段2的後面

 ALTER TABLE student MODIFY username VARCHAR(20) AFTER age;

方式2:ALTER TABLE表名 CHANGE字段1字段2數據類型 FIRST|AFTER字段3 

解釋:其實是一樣的,將是字段2覆蓋字段1,然後在進行排序

ALTER TABLE student CHANGE username username VARCHAR(20) AFTER age;

總結

CHANGE和MODIFY的區別?

原理都市一樣的,MODIFY只能修改數據類型,但是CHANGE能夠修改數據類型和字段名,也就是說MODIFY是CHANGE的更具體化的一個操作。可能覺得用CHANGE只改變一個數據類型不太爽,就增加了一個能直接改數據類型的使用關鍵字MODIFY來操作。

3.5、添加字段

格式:ALTER TABLE表名稱 ADD新字段名數據類型[約束條件][FIRST|AFTER已存在的表名]

解釋:在一個特定位置增加一個新的字段,如果不指定位置,默認是最後一個。

ALTER TABLE student ADD sex VARCHAR(11);

3.6、刪除字段

格式:ALTER TABLE表名稱 DROP字段名;

ALTER TABLE student DROP sex;

3.7、刪除表的外鍵約束

格式:ALTER TABLE表名稱 DROP FOREIGN KEY外鍵約束名

注意:外鍵約束名 指的不是被外鍵約束修飾的字段名,切記,而是我們在創建外鍵約束關係時取的名字。

3.8、更改表的存儲引擎

格式:ALTER TABLE表名 ENGINE=更改後的存儲引擎名

這個存儲引擎目前我自己也不太清楚,雖然知道有哪幾種引擎,但是稍微深入一點就不清楚了,所以打算留到日後在說。

4、刪除表

4.1、刪除無關聯表

格式:DROP TABLE表名;

ALTER TABLE student;

4.2、刪除被其他表關聯的主表

這個是比較重要的一點,在有外鍵關聯關係的兩張表中,如果刪除主表,那麼是刪不掉的,並且會報錯。因為有張表依賴於他。那怎麼辦呢?針對這種情況,總共有兩種方法

1、先刪除你子表,然後在刪除父表,這樣就達到了刪除父表的目的,但是子表也要被刪除

2、先解除外鍵關係,然後在刪除父表,這樣也能達到目的,並且保留了子表,只刪除我們不需要的父表。在3.7中就講解了如何刪除外鍵關係。

MySQL新手如何快速入門

一、SQL速成

以下是一些重要的SQL快速參考,有關SQL的語法和在標準SQL上增加的特性,請查詢MySQL手冊。

1.創建表

表是數據庫的最基本元素之一,表與表之間可以相互獨立,也可以相互關聯。創建表的基本語法如下:

create table table_name

(column_name datatype {identity |null|not null},

…)

其中參數table_name和column_name必須滿足用戶數據庫中的識別器(identifier)的要求,參數datatype是一個標準的SQL類型或由用戶數據庫提供的類型。用戶要使用non-null從句為各字段輸入數據。

create table還有一些其他選項,如創建臨時表和使用select子句從其他的表中讀取某些字段組成新表等。還有,在創建表是可用PRIMARY KEY、KEY、INDEX等標識符設定某些字段為主鍵或索引等。

書寫上要注意:

在一對圓括號里的列出完整的字段清單。

字段名間用逗號隔開。

字段名間的逗號後要加一個空格。

最後一個字段名後不用逗號。

所有的SQL陳述都以分號”;”結束。

例:

mysql CREATE TABLE test (blob_col BLOB, index(blob_col(10)));

2.創建索引

索引用於對數據庫的查詢。一般數據庫建有多種索引方案,每種方案都精於某一特定的查詢類。索引可以加速對數據庫的查詢過程。創建索引的基本語法如下:

create index index_name

on table_name (col_name[(length)],… )

例:

mysql CREATE INDEX part_of_name ON customer (name(10));

3.改變表結構

在數據庫的使用過程中,有時需要改變它的表結構,包括改變字段名,甚至改變不同數據庫字段間的關係。可以實現上述改變的命令是alter,其基本語法如下:

alter table table_name alter_spec [, alter_spec …]

例:

mysql ALTER TABLE t1 CHANGE a b INTEGER;

4.刪除數據對象

很多數據庫是動態使用的,有時可能需要刪除某個表或索引。大多數數據庫對象可以下面的命令刪除:

drop object_name

mysql DROP TABLE tb1;

5.執行查詢

查詢是使用最多的SQL命令。查詢數據庫需要憑藉結構、索引和字段類型等因素。大多數數據庫含有一個優化器(optimizer),把用戶的查詢語句轉換成可選的形式,以提高查詢效率。

值得注意的是MySQL不支持SQL92標準的嵌套的where子句,即它只支持一個where子句。其基本語法如下:

SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL]

select_expression,… [INTO {OUTFILE | DUMPFILE} ‘file_name’ export_options] [FROM table_references [WHERE where_definition] [GROUP BY col_name,…] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,…] [LIMIT [offset,] rows] [PROCEDURE procedure_name] ]

其中where從句是定義選擇標準的地方,where_definition可以有不同的格式,但都遵循下面的形式:

字段名操作表達式

字段名操作字段名

在第一種形式下,標準把字段的值與表達式進行比較;在第二種形式下,把兩個字段的值進行比較。根據所比較的數據類型,search_condition中的操作可能選以下幾種:

= 檢查是否相等

!= 檢查是否不等

(或=) 檢查左邊值是否大於(或大於等於)右邊值

(或=) 檢查左邊值是否小於(或小於等於)右邊值 [not] between 檢查左邊值是否在某個範圍內 [not] in 檢查左邊是否某個特定集的成員 [not] like 檢查左邊是否為右邊的子串

is [not] null 檢查左邊是否為空值

在這裡,可以用通配符_代表任何一個字符,%代表任何字符串。使用關鍵字、和可以生成複雜的詞,它們運行檢查時使用布爾表達式的多重標準集。

例:

mysql select t1.name, t2.salary from employee AS t1, info AS t2 where t1.name = t2.name;

mysql select college, region, seed from tournament

ORDER BY region, seed;

mysql select col_name from tbl_name WHERE col_name 0;

mysql數據庫的基本操作有哪些

1. 將下載的mysql-noinstall-5.1.69-win32.zip解壓至需要安裝的位置, 如: C:\Program Files;

2. 在安裝文件夾下找到 my-small.ini配置文件, 將其重命名為 my.ini , 打開進行編輯, 在 [client] 與[mysqld] 下均添加一行: default-character-set= gbk

3. 打開 Windows 環境變量設置, 新建變量名 MYSQL_HOME , 變量值為 MySQL 安裝目錄路徑, 這裡為C:\Program Files\mysql-5.1.69-win32

4. 在 環境變量 的 Path變量中添加 ;%MYSQL_HOME%\bin;

5. 安裝 MySQL 服務, 打開Windows命令提示符, 執行命令: mysqld –install MySQL–defaults-file=”my.ini” 提示”Service successfully installed.”表示成功;

MySQL服務的啟動、停止與卸載

在 Windows 命令提示符下運行:

啟動: net start MySQL

停止: net stop MySQL

卸載: sc delete MySQL

MySQL腳本的基本組成

與常規的腳本語言類似, MySQL 也具有一套對字符、單詞以及特殊符號的使用規定, MySQL 通過執行 SQL 腳本來完成對數據庫的操作, 該腳本由一條或多條MySQL語句(SQL語句 + 擴展語句)組成, 保存時腳本文件後綴名一般為.sql。在控制台下, MySQL 客戶端也可以對語句進行單句的執行而不用保存為.sql文件。

標識符

標識符用來命名一些對象, 如數據庫、表、列、變量等, 以便在腳本中的其他地方引用。MySQL標識符命名規則稍微有點繁瑣, 這裡我們使用萬能命名規則: 標識符由字母、數字或下劃線(_)組成, 且第一個字符必須是字母或下劃線。

對於標識符是否區分大小寫取決於當前的操作系統,Windows下是不敏感的, 但對於大多數Linux\unix 系統來說,

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183395.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:29
下一篇 2024-11-24 16:29

相關推薦

  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python豎線圖:從入門到精通

    Python豎線圖,即Python的繪圖工具matplotlib中的一種圖形類型,具有直觀、易於理解的特點,適用於各種數據分析和可視化場景。本文從初學者角度出發,介紹Python豎…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29
  • Python磁盤操作全方位解析

    本篇文章將從多個方面對Python磁盤操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件權限修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29

發表回復

登錄後才能評論