日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)

發布時間:2025/3/21 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库基础之一--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(数据库控制语言)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。