数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)
Mysql是一個非常典型的C/S結構的應用模型,所以Mysql連接必須依賴于一個客戶端或者驅動.
在linux中支持兩種連接模式:TCP/IP模式和socket
?
SQL語句的四部分:
DDL:數據定義語言
DCL:數據控制語言
DML:數據操作語言
DQL:數據查詢語言
這篇博客主要對DDL進行介紹
一.首先從數據庫方面介紹,對庫的增刪查改
1.新建數據庫
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個角度:
1、你需要從哪里連接數據庫?
2、你需要對誰操作,做什么操作?
3、你要用哪個用戶進行操作?
4、密碼是什么?
?
?
轉載于:https://www.cnblogs.com/panpan0301/p/9346552.html
總結
以上是生活随笔為你收集整理的数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内部排序(总结篇)
- 下一篇: es6 - foreach