Mysql是一個很是典型的C/S結構的應用模型,因此Mysql鏈接必須依賴於一個客戶端或者驅動.mysql
在linux中支持兩種鏈接模式:TCP/IP模式和socketlinux
SQL語句的四部分:sql
DDL:數據定義語言數據庫
DCL:數據控制語言socket
DML:數據操做語言編碼
DQL:數據查詢語言spa
這篇博客主要對DDL進行介紹命令行
一.首先從數據庫方面介紹,對庫的增刪查改3d
1.新建數據庫blog
CREATE DATABASE panyang;
CREATE DATABASE panyang2 charset=utf8; 指定字符集
2.查詢數據庫
SHOW DATABASES; 該命令行在命令行中教經常使用
如,在mac終端中鏈接數據庫 mysql -u root -p
SHOW CREATE DATABASE panyang; 查看建立數據庫的時候得語句
3.修改數據庫
ALTER DATABASE panyang charset utf8; 修改數據庫編碼格式
4.刪除數據庫
DROP DATABASE panyang2;
二.表操做
在命令行中,使用哪個數據庫命令
USE 你要用的數據庫名稱 如:use panyang
1.新建
CREATE TABLE student(
id int(10) PRIMARY KEY AUTO_INCREMENT NOT NULL, 自增,主鍵,不能爲空
name VARCHAR(20) NOT NULL UNIQUE, 不能爲空,惟一
age INT(10) NOT NULL, 不能爲空
address VARCHAR(50) NOT NULL 不能爲空
)CHARSET utf8;
2.查詢
SHOW TABLES; 查看全部的表;
SHOW CREATE TABLE student;
desc student; 查詢表結構
3.修改(alter.注:update面對的是數據,alert是面對的表)
a.在表的最後一列新加一個字段interst
ALTER TABLE student ADD interst VARCHAR(10);
b.在表的第一列增長一個字段
ALTER TABLE student ADD sid int FIRST;
c.在age字段後增長一個字段
ALTER TABLE student ADD sex VARCHAR(10) AFTER age;
d.在age字段後增長一個字段tel而且在最後一列增長email
ALTER TABLE student ADD tel VARCHAR(13) AFTER age,ADD email VARCHAR(20);
e.修改列的名稱
ALTER TABLE student CHANGE age age111 int(20);
f.修改列數據類型
ALTER TABLE student MODIFY sex int(4);
g.刪除一個列
ALTER TABLE student DROP sid;
4.刪除
DROP TABLE student;
補充:
1.建立一個與一個已經存在的表的表結構相同的表的方法.
CREATE TABLE student2 like student; 前面是新的表名,後面是舊錶名
2.建立一個與一個已經存在表的備份表(結構相同,數據相同)
CREATE TABLE student22 SELECT * FROM student;
*************DCL***************
數據控制語言,控制用戶權限
一個用戶能夠作什麼操做?
1.Mysql用戶鏈接Mysql
2.控制(庫,表,數據)權限
主要使用如下命令
GRANT select,update *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
(對ip爲localhost的root用戶密碼爲123456,進行查找和增長的權限限制)
GRANT ALL PRIVILEGES ON *.* TO 'test'@'10.0.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
(對ip爲10.0.1開頭的test用戶密碼爲123456,全部權限)
FLUSH PRIVILEGES
這裏對個語句進行解釋:
1. *.* 庫.表
*表明沒有顯示
*.*表明全部庫下面的全部表.如test.student表示test庫下的student表
2.'root'@%
%表明沒有限制
root表明受限制的用戶
'root'@'localhost'表示:ip爲localhost的root用戶受限制
'root'@'10.0.1.%'表示:ip爲10.0.1開頭的root用戶受限制
權限限制的4個角度:
一、你須要從哪裏鏈接數據庫?二、你須要對誰操做,作什麼操做?三、你要用哪一個用戶進行操做?四、密碼是什麼?