1. 程式人生 > >sql及DDL語句操作

sql及DDL語句操作

1sql介紹

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統;同時也是資料庫指令碼檔案的副檔名。

2、MYSQL-SQL語句分類

DML(data manipulation language)是資料操縱語言:

開發人員常用的命令)命令有SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對資料庫裡的表資料進行操作的語言

DDL(data definitionlanguage)是資料定義語言:

DBA用,開發人員很少用
)命令有show,ALTER,CREATE、DROP,等,DDL主要是用在對資料庫例項、表、列等資料庫物件的定義和操作

DCL(DataControlLanguage)是資料庫控制語言:

DBA)是用來設定或更改資料庫使用者或角色許可權的語句,包括(grant,deny,revoke等)語句。

3、常用DDL命令操作

資料庫命名:資料庫例項名、表名、列名通常單詞都是小寫字母通過下劃線分隔,很多資料庫裡不區分大小寫。

1)資料庫例項相關

資料庫例項:一個數據庫伺服器可以有很多資料庫例項,一般一個數據庫例項對應一個專案(產品),每個例項裡可以有很多張表(實體),可以把資料庫例項理解為表的倉庫。

    簡單理解:對應java的包,包是組織管理類,資料庫例項組織管理表。

1.1、檢視所有資料庫例項

   SHOW DATABASES; 

1.2、建立資料庫例項

   CREATE DATABASE dbname;

1.3、選擇將要操作的資料庫例項

   USE dbname;  

1.4、刪除資料庫例項

   DROP DATABASE dbname;  
    DROP DATABASE  if exists  dbname;  

2)資料庫中表相關

表中相關概念

    1)表(實體):可以理解為就是java中的類,類可以有多個物件,表可以有多條記錄。類中定義了物件擁有的屬性(有型別)。

表中定義了記錄的各種列(有型別)。表中可以儲存很多的記錄。

    2)列(欄位)(屬性):可以理解為java中類的成員變數,每一條記錄可以有多個列組成,如:張三,18,男,170。這條記錄,分成了多個列儲存,可更加高效管理資料。

    3)型別(域):為列指定的資料型別,與java資料型別(字串,數字,時間)類似。

    4)主鍵(關鍵字):用來判斷不同記錄,每一條記錄的主鍵都不同,主鍵是特殊的列或列組合(聯合主鍵),理解為java的物件的地址

例如:人的物件的地址,手的物件的地址。

    5)外來鍵:用來指定該列資料,參考了某個表的列,該列資料依賴某一個參考列。不能隨便填值,必須是參考列的值或null可以理解為java類中組合其他類(成員變數),該值只能是其他類的物件的地址或null

例如:人的物件裡持有的手的物件的地址。

注意:某個表a設定了a1列為外來鍵,外來鍵參考表b的b1列,那麼這裡a則是從表,b是主表。新增資料的時候先主表,後從表。(因為外來鍵列的值,必須是參考列的值或null

2.1、選擇將要操作的資料庫例項(執行該程式碼後,後續的表操作針對我們設定的資料庫例項)

    USE dbname;  

2.2、查詢當前使用資料庫例項包含的所有表

   show tables;

2.3、建立表

CREATE TABLE tablename(

    //列(欄位)列表

    列名1   型別    相關配置,

    列名2   型別    相關配置,

    列名3   型別    相關配置

    ....

);

CREATE TABLE tablename(

   id INT(11) NOT NULL auto_increment,

    moneyint(10)  unsigned zerofill default NULL,

   name VARCHAR(256) NOT NULL,

  PRIMARY KEY (`id`)--指定該表的主鍵,可以多個列(關鍵字)

);  

2.4、顯示錶結構資訊(列資訊)    

    desctablename

2.5、查看錶建立語句(完整語句=包含預設值)

    showcreate table tablename;

2.6、刪除表

   DROP TABLE tablename; 
    DROP TABLE if exists tablename; (mysql 特有的)

2.7、表結構修改

   2.7.1、修改表字段型別

    語法: ALTER TABLE tablename MODIFY [COLUMN]column_definition [FIRST | AFTER col_name]

    ALTER TABLE tablename MODIFY name CHAR(128) NOT NULL; 

column_definition:cloumnnamecloumntype

  2.7.2、增加表字段

    語法:ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]; 

    ALTER TABLE tablename ADD age INT(11) NOT NULL; 

  2.7.3、刪除表字段

    語法: ALTER TABLE tablename DROP [COLUMN] col_name; 

   ALTER TABLE tablename DROP age;  

  2.7.4、表字段改名和型別

    語法: ALTER TABLE tablename CHANGE [COLUMN] old_col_name new_col_definition [FIRST | AFTER col_name]; 

    ALTER TABLE tablename change name uname CHAR(64); 

注意:CHANGE和MODIFY都可以修改表字段定義,不同的是CHANGE寫兩次欄位名,但是CHANGE可以修改列名,而MODIFY則不能。

  2.7.5、修改欄位排列順序

     上面介紹的修改表定義後面都有一個可選專案[FIRST | AFTER col_name],這個選項可以用來修改欄位在表中的順序,ADD新增欄位的預設位置是在表的最後,CHANGE和MODIFY預設不改動欄位的位置。    

在上表中新增birth欄位,並放到列id後面:  

    ALTER TABLE tablename ADD birth DATETIME AFTER id;  

再次修改,把它放到uname表後面:  

       ALTER TABLE tablename MODIFY birth DATETIME NOT NULL AFTER uname; 

  2.7.6、修改表名

  語法:ALTER TABLE tablename RENAME [TO] new_tablename; 

      如把上面表名tablename改成test:  

   ALTER TABLE tablename RENAME test;  

練習-ddl語句

3、圖形化工具 

 navicat(推薦) 

   多資料庫

   多連線

   視覺化表操作

   逆向到模型

       ......

       ......

 mysql workbench

 phpMyAdmin

相關推薦

sqlDDL語句操作

1、sql介紹 結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統;同時也是資料庫指令碼檔案的副檔名。 2、MYSQL-SQL語句分類

Mysql DDL語句操作

此內容摘自 "mysql5.7從入門到精通"   目錄 1.建立表   2.主鍵約束   3.外來鍵   4.使用非空約束   5.唯一約束  6.預設約束  

PL/SQL WHILE迴圈語句操作例項講解

WHILE迴圈語句在PL/SQL程式語言,只要給定的條件為真,則執行目標語句多次。給出求10的階乘的while迴圈操作原始碼:-- Created on 2018/3/23 by E.WANG /*

Oracle 過程中執行動態 SQLDDL 語句

如果你用的是 Oracle 8i 及以上的版本,那簡單,在過程中用 execute immediate sql_str 就行, sql_str 是一個拼湊的 SQL 語句,但這個動態語句中帶引數,或 Select 的結果要 into 到變數中時就要稍加留心一下了。而在

使用MySQL for Navicat 建立使用者(連線) SQL語句操作

(1)首先得先登入root使用者(即:DBA,root許可權),然後才能執行下面 use mysql; (2)建立 並 授權 英文,中文我沒找到解決方法   注意:此處的”localhost”,是指該使用者只能在本地登入,不能在另外一

Hadoop Hive sql語法詳解1-認識hiveDDL操作

轉載自:http://www.aboutyun.com/thread-7324-1-1.html 1.認識hive:Hive 是基於Hadoop 構建的一套資料倉庫分析系統,它提供了豐富的SQL查詢方式來分析儲存在Hadoop 分散式檔案系統中的資料,可以將結構化的資料檔

JAVA中用 SQL語句操作小結

update 數據類型 where條件 ring 行數 實用 英文 delet date 1、添加記錄(INSERT) 使用SQL語句的INSERT命令可以向數據庫中插入記錄,INSERT命令的基本形式為: INSERT INTO 表名 [(字段名1,字段名2…)] VAL

Shell腳本中執行sql語句操作

out ins host source con more char 演示 -1   這篇文章主要介紹了Shell腳本中執行sql語句操作mysql的5種方法,本文講解了將SQL語句直接嵌入到shell腳本文件中、命令行調用單獨的SQL文件、使用管道符調用SQL文件等方法,需

sql 語句操作,修改字段中字符串的一部分

ron str web ebe pda rep 字符 ace replace update 表名 set 字段=replace(字段,‘替換的部分’,‘替換後的字符串’); update 表名 set A=replace( A, ‘海澱‘, ‘朝陽‘) where A li

數據庫 之 表操作(DDL語句)和索引

數據庫 表操作 1 概述表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若幹個字段組成。主要用來存儲數據記錄。表的操作,包含創建表、刪除表、修改表等。給表中的字段創建索引,將提高查詢的速度。表的操作涉及DDL: DataDefinationLanguage,數據定義語言,關鍵字:CREATE,

第八章,用SQL語句操作數據

values 通過 select語句 sql 定義 開頭 更新數據 算數運算 優先級 SQL的組成: (1)DML(Data Manipiation Language ,數據操作語言,)用來插入,修改和刪除數據庫中的數據,如:INSERT,UPDATE,DELETE等。

使用T-SQL語句操作數據表-插入數據

行數 不能 字符 但是 列表 插入 設計 數位 check約束 插入數據(insert)語法:insert [into] <表名> [列名] values <值列表>解釋:insert :是語法名,插入的意思into:是選填的,可以省略。

使用T-SQL語句操作數據表-刪除數據

語句 但是 sql truncate 表格 內容 表名 刪除表格 rom 1.使用 delete 語句刪除表中的數據:語法:delete from <表名> [where <刪除條件>]delete 是刪除的意思 where是選填內容可以

使用T-SQL語句操作數據表-查詢數據

成績表 例子 別名 默認 分數 from having lec ade 查詢(select)的基本格式:select <列名> from <表名> [where <查詢限定條件>]解釋:select 查詢的命令體列名:要查詢

使用T-SQL語句操作視圖

word tail 分享 判斷 from eat student span ref 轉自:使用T-SQL語句操作視圖 提示:只能查看,刪除,創建視圖,不能對數據進行增,刪,改操作。 use StuManageDB go --判斷視圖是否存在 if exists

SQL語句操作數據

大小寫 存在 dcl 算數運算 變量 UC 函數 creat nio 使用T-SQL插入數據 1.SQL簡介 (1)SQL是什麽 structured Query Language:結構化查詢語句 *不區分

SQL語句操作數據------解析

解析 語句 錯誤 表名 標識 組成 nio 分隔 數據 一.SQL 結構化查詢語言 1.T-SQL 和 SQL的關系 T-SQL是SQL的增強版 2.SQL的組成 2.1 DML (數據操作語言) 增加,修改,刪除等數據操作 2.2 DCL (數據控制語言) 存儲許可,存儲

mysql系列詳解二:sql語句操作-技術流ken

option art sql con student redundant cascade 枚舉 創建索引 1.簡介 本篇博客將詳細講解mysql的一些常用sql語句操作,例如創建數據庫,刪除數據庫,創建表,修改表,刪除表,以及簡單查詢案例。 2.關於mysql數據中的S

mysql 操作sql語句 操作數據表

ibdata myisam war hang mysqld () 作文 microsoft sorted #2. 操作文件 先切換到文件夾下:use db1查看當前所在的數據庫 mysql> select database(); +---------

Django中使用mysql資料庫並使用原生sql語句操作

Django自身預設使用sqlite3這個輕量級的資料庫,但是當我們開發網站時,sqlite3就沒有mysql好,sqlite3適合一些手機上開發使用的資料庫。 準備的軟體 mysql資料庫,版本5.7及以上。 navicat,(可選的)。使用navicat主要是簡化我