成都php工程師培訓整理了mysql語句,對你有幫助的!

2021-01-08 成都達內小編

成都php工程師培訓整理了mysql語句,對你有幫助的!MySQL語句大全,每天跟著操作一遍,不信你不懂!

文章正文

整理了mysql語句,每天練習一遍,對你有幫助的!

MySQL服務的配置和使用

修改MySQL管理員的口令:mysqladmin –u root password 密碼字符串

如:mysqldmin –u root password 111111

連接MySQL伺服器,使用命令: mysql [-h 主機名或IP位址] [-u 用戶名] [-p]

如:mysql –u root –p

如已有密碼需修改root密碼用命令: mysqladmin –u root –p password 新密碼字符串

如:mysqladmin –u root –p password 111111

創建資料庫格式為:CREATE DATABASE 資料庫名稱;

如:mysql>create database abc; 默認創建資料庫保存在/var/lib/mysql中

查看資料庫是 mysql>show abc;

選擇資料庫是 USE 資料庫名稱; 如:mysql>use abc;

刪除資料庫是 DROP DATABASE 資料庫名稱; 如:mysql>drop database abc;

資料庫的創建和刪除

創建表是 CREATE TABLE 表名稱(欄位1,欄位2,…[表級約束]) [TYPE=表類型];

其中欄位(1,2 )格式為:欄位名 欄位類型 [欄位約束]

如創建一個表student,如下:

可用describe命令查看表的結構。

默認表的類型為MYISAM,並在/var/lib/mysql/abc 目錄下建立student.frm(表定義文件),student.MDY(數據文件),stedent.MYI(索引文件)。

複製表 CREATE TABLE 新表名稱 LIKE 原表名稱;

如:mysql>create table xtable like student;

刪除表 DROP TABLE 表名稱1[表名稱2…];

如:mysql> drop table xtale;

修改表 ALTER TABLE 表名稱 更改動作1[動作2];

動作有ADD(增加) DROP(刪除)CHANGE、MODIFY(更改欄位名和類型)RENAME

表中數據的插入、刪除和修改

插入記錄: INSERT INTO 表名稱(欄位名1,欄位名2…

VALUES(欄位1的值,欄位2的值

如:mysql>insert into student (sno,sname,ssex,sbirthday,sdepa)

values(『0321001』,』Liu Tao』,dagault,19870201,’math』);

查看表 mysql>select * from student;

插入與前面相同的記錄,可用insert命令的縮寫格式,

如: mysql>insert into student values (『0321001』, 『Liu Tao』, default, 19870201, 『mth』);

如果欄位名列表中沒有給出表中的某些欄位,那麼這些欄位設置為默認值,

如:mysql>insert into student (sno,sname,sbirthday)

values(『0321002』,』Wang Jun』,1870112);

一個單獨的insert語句中可使用多個valuse字句,插入多條記錄,

如:mysql>insert into student values

(『0322001』, 『Zhang Liaoyun』, 『f』 1971102,』computer』),

(『0322002』, 『Li Ming』, 『t』 1971105,』computer』);

刪除記錄: DELETE FROM 表名稱 WHERE 條件表達式;

如:mysql>delete from student where sno=』0321002』;

刪除student表中sno欄位值前4位為『0322』的記錄

如:mysql>delete from student where left (sno,4)=』0322』;

刪除所以記錄,可以不帶where字句

如:mysql>delete from student;

刪除所以記錄可以用命令truncate 刪除表,然後重建表,所以比delete命令快

如:mysql>truncate table student;

修改記錄 UPDATE 表名稱 SET 欄位名1=欄位值1

WHERE 條件表達式

如: mysql>update student set sbirthday=1920113, sdepa=’math』 where sno=』0321002』;

索引的創建與刪除

在創建表的同時創建索引

創建表時,可用INDEX字句或UNIQUE(欄位值必須惟一)字句創建索引

如:創建課程表course, 課程編號cno欄位為主鍵,課程名稱cname欄位創建一個名為can的索引

mysql>create table course(

cno varchar(5) not null,

cname varchar(30) not null,

teacher varchar(20),

primary key (cno),

index can (cname)

);

向已存在的表添加索引 CREATE [UNIQUE ] INDEX 索引名ON表名稱 (欄位名1[(長度)]);

如:mysql>create index sna on student (sname);

對於類型為CHAR和VARCHAR的欄位建立索引時還可指定長度值,類型為BLOB和TEXT的欄位索引時必須指定長度值。

如 mysql>create index sna on student (sname(10));

刪除索引 DROP INDEX 索引 ON表名稱;

如:mysql>drop index sna on student;

用戶的創建和刪除

初始化時有5個MySQL授權表,其中host、tables_priv和columnts_priv 是空的,表user和db決定了MySQL默認的訪問規則。默認有mysql和test兩個資料庫。

授權表:user 用戶從哪些主機可以連接到資料庫伺服器,以及對所以資料庫的訪問權限(全局權限)

db 用戶可以使用哪些權限,以及對資料庫執行哪些操作(資料庫級權限)

host 當表db 中的host 欄位值為空時,用戶從哪些主機可以連接到資料庫伺服器。

tables_priv 連接的用戶可以訪問哪些表(表級權限)

columnts_priv 連接的用戶可以訪問哪些欄位 (欄位級權限)

創建新用戶

以MySQL管理員連接到資料庫伺服器: #mysql –u root –p

創建新用戶guess並設置密碼,同時可以從任何主機連接資料庫伺服器:

mysql>insert into mysql.user (host,user,password)

values (『%』,』gusee』,password(『guest』)); 使用password()函數,密碼是加密的

重載MySQL授權表:mysql>flush privileges;

遠程客戶端連接資料庫伺服器 :#mysql –h 192.168.0.50 –u guess –p 開放伺服器的TCP斷口3306

查看當前用戶可用資料庫: show database

刪除用戶

mysql>delete from mysql.user where user=』guest』;

mysql>flush privileges; 重載MySQL授權表

更改用戶密碼

如:更改guset密碼為123456

mysql>update mysql.user set password=password(『123456』)

where user =』guset』;

mysql>flush privileges;

或者是 mysql>set password for guset@』%』=password(『123456』);

用戶權限的設置

在表user、db和host中,所有欄位聲明為ENUM(『N』,』Y』),默認是『N』;

在表tables_priv和columns_priv中,權限欄位聲明為SET類型

修改授權表中的訪問權限有兩中方法,一是使用 INSERT、UPDATE和DELETE等DML語句,

另一中是GRANT和GRVOKE語句

使用GRANT語句授權:

格式如下:

GRANT 權限列表 [(欄位列表)] on 資料庫名稱.表名稱

TO 用戶名@域名或IP位址

[INDETIFIED BY 『密碼值』] [WITH CRANT OPTION];

授權哪個用戶能連接,從哪連接

如:授權用戶guest從任意主機連接資料庫伺服器,並具有完全訪問資料庫abc的權限。

Mysql>grant all on abc.* to guset@』%』 identified by 『guest』

注意幾點:如指定用戶不存在,則創建該新用戶;

『權限列表』處ALL表示授予全部權限,USAGE表不授予任何權限。

『資料庫名稱.表名稱』處可以使用通配符「*」。如「abc.*」表資料庫abc中所有表

『用戶名@域名或IP位址』設置誰能連,從哪連。用戶名 不能用通配符,但可以用『 』空字符串,表任何用戶;域名或IP位址可以用通配符「%」,使用是用單引號括起來。

授權用戶不同級別的訪問權限

如:新建用戶tom,能從子網192.168.16.0訪問資料庫伺服器,可以讀取資料庫xsxk,並能修改表course 中欄位teacher的值

mysql>grant select on xsxd.* to tom@』192.168.16.%』 indentifiend by 『123456』;

mysql>grant update(teacher) on xsxd.course to tom@』192.168.16.%』』

注意幾點:資料庫名稱.表名稱 用來設置權限運用的級別,有全局的(*.*),指定資料庫的(xsxd.*)

和指定表的(xsxd.student);

欄位列表 設置權限運用中指定的表中的哪些欄位,如update(cname,teacher)

權限列表 指定的權限與權限運行的級別有關,如有寫權限(FILE、PROCESS、RELOAD、SHUTDOWN)作為管理權限用於全局級別;對於欄位級別只能指定SELECT、INSERT、UPDATE、REFERENCES

授予用戶管理權限的權利

如:管理員授予擁護admin可以從本地連接資料庫伺服器,對資料庫xsxk具有完全訪問權限,並可以

將擁有的權限賦予其他用戶

mysql>grant all on xsxd.* to admin@localhost indentified by 『123456』 with grant option;

其中with grant option 子句表示擁護擁有的權限可以賦予其他用戶。

mysql>qrant select on xsxd.student to bill@localhost; 授予bill用戶權限

mysql>show grants for admin@localhost; 查看用戶權限

使用REVOKE語句撤權

格式如下:

REVOKE 權限列表[(欄位列表)] on資料庫名稱.表名稱

FROM用戶名@域名或IP位址

如:撤消用戶admin@localhost 對資料庫xsxd的創建、刪除資料庫及表的權限,不撤消用戶賦予其它用戶的權限

mysql>revoke create,drop on xsxd.* from admin@localhost;

mysql>revoke grant option on xsxd.* from admin@localhost;

相關焦點

  • PHP怎麼連接Mysql資料庫? - php中文網
    下面我們通過具體的代碼示例來給大家詳細介紹兩種PHP連接mysql資料庫的方法。mysqli連接資料庫和pdo連接資料庫。第一種方法:使用mysqli連接mysql資料庫代碼實例如下:<?php$host='127.0.0.1';$user='root';$password='root';$dbName='php';$link=new mysqli($host,$user,$password,$dbName);if ($link->connect_error){die("連接失敗:
  • mysql修改語句UPDATE的使用
    今天介紹一下update的使用,這個關鍵詞就是修改資料庫語句。我們看看在哪些環境會用到修改語句,比如在編輯輸入資料的時候發現資料錄錯了,或者某個信息要修改,這個時候就需要用到update了。我們實現的是最後原理,不管是asp,jsp還是php實現最底層都是通過sql語句修改資料庫,實現達到的效果。通過程序篩選出數據,在指定去執行。
  • 配置php.ini以連接mysql數據
    先執行一個簡單的連結數據的語句:結果為:可見該函數需要另外的一些東西才能使用!做法如下:第1步:在php.ini中設定php的模塊(擴展功能)的實際絕對路徑,使用的關鍵字為:extends_dir,如下:修改為:第2步:開啟mysql的模塊(擴展功能):修改為:然後,重啟apache,後,瀏覽結果如下:可見,這個時候,其實是表示該函數可以用了,只是還沒有連接成功
  • 從Web查詢資料庫之PHP與MySQL篇
    從Web查詢資料庫:Web資料庫架構的工作原理 一個用戶的瀏覽器發出一個HTTP請求,請求特定的Web頁面,在該頁面中出發form表單提交到php腳本文件(如:results.php)中處理 Web伺服器接收到對results.php頁面的請求後,檢索文件,並將其傳遞給PHP引擎處理 PHP引擎開始解析腳本
  • PHP操作MySQL-訪問資料庫「程式設計師培養之路第四十八天」
    php$server = "localhost"; $username = "root"; $password = "123456"; $dbname = "php_db"; // 快速寫法 $mysqli = new mysqli ( $server, $username, $password, $dbname ); // 兼容寫法 $mysqli = new
  • PHP操作MySQL-其他「程式設計師培養之路第四十九天」
    配置PDOWindows下啟動PDO需要在「php.ini」文件中進行配置,添加擴展:extension=php_pdo.dll在最新版PHP中,PDO已經默認開啟,只需要啟動其他資料庫擴展即可。配置好這些後重啟Apache服務。執行phpinfo()函數,看到PDO配置項,說明開啟成功。
  • PHP環境配置:Windows7+IIS7+PHP+MySQL - 適用於(2008 R2 / 8 / 10)
    點擊確定,每次使用時,關閉其中一個網站06.png第二步:安裝 PHP下載地址:http://windows.php.net/download/官網可以下載到Windows版的最新PHP包,但是PHP.net已經放棄5.6版以前的環境包,大叔這裡整理了一份以前的環境包列表,有需要的同學可以自己去拿百度雲盤:https:///s/1BJgFhrCHRBj1VFkgGegZ8g
  • Mysql常用命令大全-整理-精
    瀏覽 (1442) 評論 (1) 分類: 資料庫 相關推薦 評論 培訓 培訓目的 MySQL 資料庫方面的基礎培訓,為了使項目組成員能夠達到使用MySQL 數 培訓對象 常用詞及符號說明 :一種免費的跨平臺的資料庫系統 :表示是在
  • Debian 9 安裝Linux, NGINX, MySQL/MariaDB, PHP7.0
    星期二博客整理NGINX安裝安裝之前先更新伺服器,然後通過apt安裝sudo apt updatesudo apt install nginx啟動nginxsudo systemctl start nginx設置nginx開機啟動sudo systemctl enable nginx
  • Oracle認證:PHP開發者常犯的MySQL錯誤
    【IT168技術】為了方便廣大考生更好的複習,綜合整理提供了Oracle認證:PHP開發者常犯的MySQL錯誤,以供各位考生考試複習參考,希望對考生複習有所幫助。  PHP開發者常犯的10個MySQL錯誤  資料庫是WEB大多數應用開發的基礎。
  • php怎麼操作mysqli
    之前寫了篇文章介紹php操作mysql有網友給小編留言說現在都流行的是mysqli連結資料庫。小編今天介紹一下php操作mysqli的常見語法。和mysql有比較多類似的地方。我們先看看mysqli怎麼連接資料庫。
  • JavaScript學習筆記(二十四)—MYSQL基礎操作
    MYSQLmysql 是一個資料庫的名字和 php 合作的比較好的資料庫之前我們說過一個問題,前端向後端索要數據,後端就是去資料庫中查詢數據,返回給前端接下來就聊聊使用 php 操作資料庫你可以使用主鍵來查詢數據。
  • 多迪PHP培訓:自學PHP與培訓PHP究竟有什麼區別
    1.首先你要確定一本教材和PHP手冊。2..你要養成一個習慣就是在學習的過程,自己必須動手,就算按照書上的抄一遍也要抄。3..你每寫一個東西都必須要了解它的思路。其實我發現你了解了它是怎麼樣運行對你寫程序有很大幫助。同時也對你以後寫其他東西借鑑這種思路有好處。4.當我們長時間寫程序的時候,其實你應該發現,我們現在做的工作基本上以前做過,寫過。那我們應該如何節省重複勞動?
  • 實例,PHP+MySql 實現簡單的分頁功能
    1、mysql limit 用法SELECT * FROM table limit [offset,] count;參數:(1)開始位置計算方法:(頁數-1) x 每頁顯示個數(2)limit語句:limit 開始位置,每頁顯示個數3、實現代碼上述代碼使用 mysqli函數連接資料庫和查詢數據。
  • mysql批量語句,怎麼保證操作都成功?
    欄位不匹配,但是,數據表第一條已經插入成功,只是第二條語句出錯了!第二種情況:多條語句,有事務控制測試代碼如下:$conn = Yii::$app->db1; $transaction = $conn->beginTransaction();
  • 最詳細最全的PHP面試題(附答案)
    (5分)$_SERVER[『REMOTE_ADDR』]3、寫出使用header函數跳轉頁面的語句(5分)Header(『location:index.php』);;12、你使用過哪種PHP的模板引擎?資料庫db_test裡已建有表friend,資料庫的連接用戶為root,密碼為123friend表欄位為:id,name,age,gender,phone,email請使用php連接mysql,選擇出friend
  • 千萬級高並發請求處理之mysql數據樂觀鎖及php代碼實現
    這裡需要注意的一點是不同的資料庫對select for update的實現和支持都是有所區別的,例如oracle支持select for update no wait,表示如果拿不到鎖立刻報錯,而不是等待,mysql就沒有no wait這個選項。另外mysql還有個問題是select for update語句執行中所有掃描過的行都會被鎖上,這一點很容易造成問題。
  • Docker 搭建 nginx + mysql + php 開發環境全方面教學!
    /web/mysql/mysql_sock:/var/run/mysqld 將主機 ~/web/mysql/mysql_sock 目錄掛載到容器的 /var/run/mysqld (為防止 php 容器無權限讀取 mysql 容器的 sock 文件)-d 後臺運行安裝完成後使用 docker ps 查看當前運行的容器
  • OpenResty、PHP-fpm與NodeJs操作MySQL的性能對比
    agentzh:我剛才在對比測試大結果集查詢時,發現NodeJS在使用 node-mysql庫訪問MySQL時,上下文切換次數居高不下,都快趕上 php-fpm + php-mysql了。對於 100KB 的大結果集查詢,並且命中 MySQL 查詢緩存時,node-mysql + node-generic-pool 的性能是最差的,甚至不如 php-fpm + php-mysql. 我的 nodejs 腳本在這裡:http://t.cn/zO9bEgl 哪位 NodeJS 專家幫我把把脈?使用的各組件都是當前的最新版本。
  • PHP程序設計試題與答案
    包含有 PHP 語句的文件,只有用後綴____________命名後(比如: myphpfile.php3 )才能夠被 PHP4.0 的解釋器所識別並進行相應的處理。8.在PHP中 引用文件的方法有兩種:__________ 及 _________。9.要初始化一個對象,需用__________語句建立該類型的變量.10. 函數中的變量 ________表示的是當前的對象,需要使用___________ 的形式來存取所有當前對象的變量或函數。