程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql基本入門 輕松進修Mysql敕令

Mysql基本入門 輕松進修Mysql敕令

編輯:MySQL綜合教程

Mysql基本入門 輕松進修Mysql敕令。本站提示廣大學習愛好者:(Mysql基本入門 輕松進修Mysql敕令)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql基本入門 輕松進修Mysql敕令正文


1、MySQL的相干概念引見
MySQL 為關系型數據庫(Relational Database Management System), 這類所謂的"關系型"可以懂得為"表格"的概念, 一個關系型數據庫由一個或數個表格構成, 如圖所示的一個表格:

表頭(header): 每列的稱號;
列(row): 具有雷同數據類型的數據的聚集;
行(col): 每行用來描寫某小我/物的詳細信息;
值(value): 行的詳細信息, 每一個值必需與該列的數據類型雷同;
鍵(key): 表頂用來辨認某個特定的人\物的辦法, 鍵的值在以後列中具有獨一性。

2、Windows下MySQL的設置裝備擺設
以MySQL 5.1 免裝置版為例, 下載mysql-noinstall-5.1.69-win32.zip。

2.1 設置裝備擺設步調:

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."表現勝利;

2.2MySQL辦事的啟動、停滯與卸載

在 Windows 敕令提醒符下運轉:

啟動: net start MySQL

停滯: net stop MySQL

卸載: sc delete MySQL

3、MySQL劇本的根本構成
與慣例的劇本說話相似, MySQL 也具有一套對字符、單詞和特別符號的應用劃定, MySQL 經由過程履行 SQL 劇本來完成對數據庫的操作, 該劇本由一條或多條MySQL語句(SQL語句 + 擴大語句)構成, 保留時劇本文件後綴名普通為 .sql。在掌握台下, MySQL 客戶端也能夠對語句停止單句的履行而不消保留為.sql文件。

3.1標識符:標識符用來定名一些對象, 如數據庫、表、列、變量等, 以便在劇本中的其他處所援用。MySQL標識符定名規矩略微有點繁瑣, 這裡我們應用全能定名規矩: 標識符由字母、數字或下劃線(_)構成, 且第一個字符必需是字母或下劃線。

關於標識符能否辨別年夜小寫取決於以後的操作體系, Windows下是不敏感的, 但關於年夜多半 linux\unix 體系來講, 這些標識符年夜小寫是敏感的。 

3.2症結字: MySQL的症結字浩瀚, 這裡紛歧一列出, 在進修中進修。 這些症結字有本身特定的寄義, 盡可能防止作為標識符。

3.3語句: MySQL語句是構成MySQL劇本的根本單元, 每條語句能完成特定的操作, 他是由 SQL 尺度語句 + MySQL 擴大語句構成。

3.4函數: MySQL函數用來完成數據庫操作的一些高等功效, 這些函數年夜致分為以下幾類: 字符串函數、數學函數、日期時光函數、搜刮函數、加密函數、信息函數。

4、MySQL中的數據類型
MySQL有三年夜類數據類型, 分離為數字、日期\時光、字符串, 這三年夜類中又更過細的劃分了很多子類型:

4.1數字類型

  • 整數: tinyint、smallint、mediumint、int、bigint
  • 浮點數: float、double、real、decimal

4.2日期和時光: date、time、datetime、timestamp、year
4.3字符串類型

  • 字符串: char、varchar
  • 文本: tinytext、text、mediumtext、longtext
  • 二進制(可用來存儲圖片、音樂等): tinyblob、blob、mediumblob、longblob

這裡不克不及具體對這些類型停止引見了, 篇幅能夠會很長, 具體引見拜見: 《MySQL 數據類型 詳解》 :  

5、應用MySQL數據庫
5.1登錄到MySQL

當MySQL 辦事曾經運轉時,我們可以經由過程MySQL自帶的客戶端對象登錄到MySQL數據庫中,起首翻開敕令提醒符, 輸出以下格局的定名:mysql -h 主機名 -u 用戶名 -p

-h : 該敕令用於指定客戶端所要登錄的MySQL主機名, 登錄以後機械該參數可以省略;
-u : 所要登錄的用戶名;
-p : 告知辦事器將會應用一個暗碼來登錄, 假如所要登錄的用戶名暗碼為空, 可以疏忽此選項。
以登錄方才裝置在本機的MySQL數據庫為例,在敕令行下輸出mysql -u root -p 按回車確認,假如裝置准確且MySQL正在運轉,會獲得以下呼應:Enter password。

若暗碼存在, 輸出暗碼登錄, 不存在則直接按回車登錄, 依照本文中的裝置辦法, 默許 root 賬號是無暗碼的。登錄勝利後你將會看到 Welecome to the MySQL monitor... 的提醒語。

然後敕令提醒符會一向以 mysql> 加一個閃耀的光標期待敕令的輸出, 輸出 exit 或 quit 加入登錄。

5.2創立一個數據庫

應用 create database 語句可完成對數據庫的創立, 創立敕令的格局以下:create database 數據庫名 [其他選項];

例如我們須要創立一個名為 samp_db 的數據庫, 在敕令行下履行以下敕令:create database samp_db character set gbk;

為了便於在敕令提醒符下顯示中文, 在創立時經由過程 character set gbk 將數據庫字符編碼指定為 gbk。創立勝利時會獲得 Query OK, 1 row affected(0.02 sec) 的呼應。

留意: MySQL語句以分號(;)作為語句的停止, 若在語句開頭不添加分號時, 敕令提醒符會以 -> 提醒你持續輸出(有個體特例, 但加分號是必定不會錯的);

提醒: 可使用 show databases; 敕令檢查曾經創立了哪些數據庫。

5.3選擇所要操作的數據庫

要對一個數據庫停止操作, 必需先選擇該數據庫, 不然會提醒毛病:

ERROR 1046(3D000): No database selected

兩種方法對數據庫停止應用的選擇:

1)在登錄數據庫時指定, 敕令: mysql -D 所選擇的數據庫名 -h 主機名 -u 用戶名 -p

例如登錄時選擇方才創立的數據庫: mysql -D samp_db -u root -p

2)在登錄後應用 use 語句指定, 敕令: use 數據庫名;

use 語句可以不加分號, 履行 use samp_db 來選擇方才創立的數據庫, 選擇勝利後會提醒: Database changed

5.4創立數據庫表

應用 create table 語句可完成對表的創立, create table 的罕見情勢:create table 表稱號(列聲明);

以創立 students 表為例, 表中將寄存 學號(id)、姓名(name)、性別(sex)、年紀(age)、接洽德律風(tel) 這些內容:

 create table students
 (
 id int unsigned not null auto_increment primary key,
 name char(8) not null,
 sex char(4) not null,
 age tinyint unsigned not null,
 tel char(13) null default "-"
 );

關於一些較長的語句在敕令提醒符下能夠輕易輸錯, 是以我們可以經由過程任何文本編纂器將語句輸出好後保留為 createtable.sql 的文件中, 經由過程敕令提醒符下的文件重定向履行履行該劇本。

翻開敕令提醒符, 輸出: mysql -D samp_db -u root -p < createtable.sql

(提醒: 1.假如銜接長途主機請加上 -h 指令; 2. createtable.sql 文件若不在以後任務目次下需指定文件的完全途徑。)

語句講解:

create table tablename(columns) 為創立數據庫表的敕令, 列的稱號和該列的數據類型將在括號內完成;

括號內聲清楚明了5列內容, id、name、sex、age、tel為每列的稱號, 前面跟的是數據類型描寫, 列與列的描寫之間用逗號(,)離隔;

以 "id int unsigned not null auto_increment primary key" 行停止引見:

  • "id" 為列的稱號;
  • "int" 指定該列的類型為 int(取值規模為 -8388608到8388607), 在前面我們又用 "unsigned" 加以潤飾, 表現該類型為無符號型, 此時該列的取值規模為 0到16777215;
  • "not null" 解釋該列的值不克不及為空, 必需要填, 假如不指定該屬性, 默許可為空;
  • "auto_increment" 需在整數列中應用, 其感化是在拔出數據時若該列為 NULL, MySQL將主動發生一個比現存值更年夜的獨一標識符值。在每張表中僅能有一個如許的值且地點列必需為索引列。
  • "primary key" 表現該列是表的主鍵, 本列的值必需獨一, MySQL將主動索引該列。

上面的 char(8) 表現存儲的字符長度為8, tinyint的取值規模為 -127到128, default 屬性指定當該列值為空時的默許值。

提醒:1.:應用 show tables; 敕令可檢查已創立了表的稱號; 2. 應用 describe 表名; 敕令可檢查已創立的表的具體信息。

6、操作MySQL數據庫
6.1向表中拔出數據

insert 語句可以用來將一行或多行數據插到數據庫表中, 應用的普通情勢以下:insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

個中 [] 內的內容是可選的, 例如, 要給 samp_db 數據庫中的 students 表拔出一筆記錄, 履行語句:insert into students values(NULL, "王剛", "男", 20, "13811371377");

按回車鍵確認後若提醒 Query Ok, 1 row affected (0.05 sec) 表現數據拔出勝利。 若拔出掉敗請檢討能否已選擇須要操作的數據庫。

有時我們只須要拔出部門數據, 或許不依照列的次序停止拔出, 可使用如許的情勢停止拔出:

insert into students (name, sex, age) values("孫麗華", "女", 21);

6.2查詢表中的數據

select 語句經常使用來依據必定的查詢規矩到數據庫中獲得數據, 其根本的用法為:select 列稱號 from 表稱號 [查詢前提];

例如要查詢 students 表中一切先生的名字和年紀, 輸出語句 select name, age from students; 履行成果以下:

 mysql> select name, age from students;
 +--------+-----+
 | name | age |
 +--------+-----+
 | 王剛 | 20 |
 | 孫麗華 | 21 |
 | 王永久 | 23 |
 | 鄭豪傑 | 19 |
 | 陳芳 | 22 |
 | 張偉朋 | 21 |
 +--------+-----+
 6 rows in set (0.00 sec)

 mysql>

也能夠應用通配符 * 查詢表中一切的內容, 語句: select * from students;

6.3按特定前提查詢:

where 症結詞用於指定查詢前提, 用法情勢為: select 列稱號 from 表稱號 where 前提;

以查詢一切性別為女的信息為例, 輸出查詢語句: select * from students where sex="女";

where 子句不只僅支撐 "where 列名 = 值" 這類名等於值的查詢情勢, 對普通的比擬運算的運算符都是支撐的, 例如 =、>、<、>=、<、!= 和一些擴大運算符 is [not] null、in、like 等等。 還可以對查詢前提應用 or 和 and 停止組合查詢, 今後還會學到加倍高等的前提查詢方法, 這裡不再多做引見。

應用示例:

查詢年紀在21歲以上的一切人信息: select * from students where age > 21;

查詢名字中帶有 "王" 字的一切人信息: select * from students where name like "%王%";

查詢id小於5且年紀年夜於20的一切人信息: select * from students where id<5 and age>20;

6.4更新表中的數據

update 語句可用來修正表中的數據, 根本的應用情勢為:update 表稱號 set 列稱號=新值 where 更新前提;

應用示例:

將id為5的手機號改成默許的"-": update students set tel=default where id=5;

將一切人的年紀增長1: update students set age=age+1;

將手機號為 13288097888 的姓名改成 "張偉鵬", 年紀改成 19: update students set name="張偉鵬", age=19 where tel="13288097888";

6.5刪除表中的數據

delete 語句用於刪除表中的數據, 根本用法為:

delete from 表稱號 where 刪除前提;

應用示例:

刪除id為2的行: delete from students where id=2;

刪除一切年紀小於21歲的數據: delete from students where age<20;

刪除表中的一切數據: delete from students;

7、創立後表的修正
alter table 語句用於創立後對表的修正, 基本用法以下:

7.1添加列

根本情勢: alter table 表名 add 列名 列數據類型 [after 拔出地位];

示例:

在表的最初追加列address: alter table students add address char(60);

在名為age 的列後拔出列birthday: alter table students add birthday date after age;

7.2修正列

根本情勢: alter table 表名 change 列稱號 列新稱號 新數據類型;

示例:

將表tel 列更名為telphone: alter table students change tel telphone char(13) default "-";

將name 列的數據類型改成 char(16): alter table students change name name char(16) not null;

7.3刪除列

根本情勢: alter table 表名 drop 列稱號;

示例:刪除birthday 列: alter table students drop birthday;

7.4重定名表

根本情勢: alter table 表名 rename 新表名;

示例:重定名students 表為workmates: alter table students rename workmates;

7.5刪除整張表

根本情勢: drop table 表名;

示例: 刪除 workmates 表: drop table workmates;

7.6刪除全部數據庫

根本情勢: drop database 數據庫名;

示例: 刪除samp_db 數據庫: drop database samp_db; 

附錄
修正 root 用戶暗碼

依照本文的裝置方法, root 用戶默許是沒有暗碼的, 重設 root 暗碼的方法也較多, 這裡僅引見一種較經常使用的方法。

  • 應用mysqladmin 方法:

          翻開敕令提醒符界面, 履行敕令: mysqladmin -u root -p password 新暗碼

          履行後提醒輸出舊暗碼完成暗碼修正, 當舊暗碼為空時直接按回車鍵確認便可。

可視化治理對象 MySQL Workbench

雖然我們可以在敕令提醒符下經由過程一行行的輸出或許經由過程重定向文件來履行mysql語句, 但該方法效力較低, 因為沒有履行前的語法主動檢討, 輸出掉誤形成的一些毛病的能夠性會年夜年夜增長, 這時候無妨嘗嘗一些可視化的MySQL數據庫治理對象, MySQL Workbench 就是 MySQL 官方 為 MySQL 供給的一款可視化治理對象, 你可以在外面經由過程可視化的方法直接收理數據庫中的內容, 而且 MySQL Workbench 的 SQL 劇本編纂器支撐語法高亮和輸出時的語法檢討, 固然, 它的功效壯大, 毫不僅限於這兩點。

以上就是本文的全體內容,贊助年夜家悄悄松松進修MySQL數據庫,和最根本的Mysql敕令,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved