日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

MySQL的簡單使用

系統(tǒng) 2305 0

MySQL 參數(shù)

????參數(shù)

描述

備注

-D,--database=、name

打開指定數(shù)據(jù)庫

mysql –uroot –procky –Dhisdb 或者mysql –uroot –procky --database=hisdb

root:用戶名rocky:密碼hisdb:數(shù)據(jù)庫名稱

--delimiter=name

指定分隔符

?

-h, --host=name

指定服務(wù)器名稱

同上,本地服務(wù)器可以用127.0.0.1或者localhost

-p, --password=name

密碼

mysql –uroot –procky 或者mysql –uroot --password=rocky

-P, --port=#

端口號(hào)

默認(rèn)是端口號(hào)是my.ini配置中的數(shù)字

--prompt=name

設(shè)置提示符

登陸后也可以使用prompt [提示符]的方法修改提示符

-u, --user=name

用戶名

同上

-V, --version

輸出版本信息并且退出

?

備注:所有參數(shù)注意大小寫

MySQL 退出

????登陸到mysql 后。輸入以下命令即可退出mysql

mysql > exit;

mysql > quit;

mysql > \q;

MySQL 提示符參數(shù)

參數(shù)

描述

\D

完整日期

\d

當(dāng)前數(shù)據(jù)庫名稱

\h

當(dāng)前服務(wù)器名稱

\u

當(dāng)前用戶

MySQL 常用命令

命令

描述

SELECT VERSION()

顯示當(dāng)前服務(wù)器的版本號(hào)

SELECT NOW()

顯示當(dāng)前日期

SELECT USER()

顯示當(dāng)前用戶

SHOW {DATABASES|SCHEMAS}

[LIKE 'pattern' | WHERE expr

查看當(dāng)前服務(wù)器的數(shù)據(jù)庫列表

SHOW WARNINGS

查看警告信息

ALTER {DATABASE|SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name

修改數(shù)據(jù)庫的編碼方式

DROP {DATABASE|SCHEMA} [IF EXISTS] db_name

刪除數(shù)據(jù)庫

SHOW DATABASES

顯示數(shù)據(jù)庫

SHOW TABLES [FROM db_name]

顯示數(shù)據(jù)表

SHOW COLUMNS FROM tb_name

查看數(shù)據(jù)表的結(jié)構(gòu)

MySQL 語句規(guī)范

  1. 關(guān)鍵字與函數(shù)名稱全部大寫
  2. 數(shù)據(jù)庫名稱、表名稱、字段名稱全部小寫
  3. SQL語句必須以分號(hào)結(jié)尾

創(chuàng)建數(shù)據(jù)庫

????格式:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] chartset_name

????范例:CREATE DATABASE hisdb;

????說明:DATABASE 和SCHEMA完全相同,任選其一即可。

????????IF NOT EXISTS 假設(shè)創(chuàng)建的數(shù)據(jù)庫存在,就不創(chuàng)建

????????DEFAULT CHARACTER 數(shù)據(jù)庫的編碼方式。

修改數(shù)據(jù)表

添加單列

????ALTER TABLE tbl_name ADD [COLUMN] col_name column_definiton [FIRST | AFTER col_name]

????FIRST表示新添加的列位于最前面,AFTER col_name表示在某一列后面,默認(rèn)添加到最后一列

添加多列

????ALTER TABLE tbl_name ADD [COLUMN] (col_name column_difinition, col_name column_difinition);

刪除列

????ALTER TABLE tbl_name DROP col_name

修改列定義

????ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER colname]

修改列名稱

????ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FRIST|AFTER col_name]

修改數(shù)據(jù)表名稱

  1. ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
  2. RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_nme]…

自動(dòng)編號(hào)

????自動(dòng)編號(hào)必須跟主鍵組合使用,默認(rèn)情況下,起始值為1,增量為1.

主鍵

????主鍵約束

????每張數(shù)據(jù)表只能存在一個(gè)主鍵

????主鍵保證記錄的唯一性

????主鍵自動(dòng)為NOT NULL????

CREATE TABLE tb2 ( id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(20) NOT NULL);

唯一約束

????唯一約束可以保證記錄的唯一性

????唯一約束的字段可以為空

????每張表中可以存在多個(gè)唯一約束

CREATE TABLE tb3 (id SMALLINT UNSIGNED UNIQUE KEY,

???????? username VARCHAR(20) NOT NULL);

默認(rèn)值

????當(dāng)插入記錄時(shí),如果沒有明確為字段賦值,則自動(dòng)賦予默認(rèn)值

約束

????約束保證了數(shù)據(jù)的完整性和一致性

????約束分為表級(jí)約束和列級(jí)約束。表級(jí)約束表示約束兩個(gè)或兩個(gè)以上的字段列級(jí)約束表示約束一個(gè)字段,表級(jí)約束只能在列定義后聲明

????約束類型:

????????NOT NULL 非空約束 不存在表級(jí)約束,只有列級(jí)約束

????????PRIMARY KEY 主鍵約束

????????UNIQUE KEY 唯一約束

????????DEFAULT 默認(rèn)約束 不存在表級(jí)約束,只有列級(jí)約束

????????POREIGN KEY 外鍵約束

外鍵約束

外鍵約束的條件

  1. 父表和子表必須使用相同的存儲(chǔ)引擎,而且禁止使用臨時(shí)表。子表具有外鍵列的表,子表所參照的表稱為父表。
  2. 數(shù)據(jù)表的存儲(chǔ)引擎只能為InnoDB。
  3. 外鍵列和參照列必須具有相同的數(shù)據(jù)類型,其中數(shù)字的長度或是否有符號(hào)位必須相同,而字符串的長度則可以不同。
  4. 外鍵列和參照列必須創(chuàng)建索引,如果外鍵列不存在索引的話MySQL將自動(dòng)創(chuàng)建索引。參照列不會(huì)自動(dòng)創(chuàng)建索引。

范例:

????父表的創(chuàng)建:CREATE TABLE province ( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20) NOT NULL);

????子表的創(chuàng)建:CREATE TABLE city (id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT,name VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province (id));

外鍵約束的參照操作

  1. CASCADE:從父表刪除或更新且自動(dòng)刪除或更新子表中匹配的行
    1. 例如:CREATE TABLE city (id SMALLINT UNSIGNED PRIMARY KEY AUTOINCREMENT,name VARCHAR(20) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY (pid) REFERENCES province (id) ON DELETE CASCADE);
  2. SET NULL:從父表刪除或更新行,并設(shè)置子表中的外鍵列為NULL,如果使用該選項(xiàng),必須保證子表列沒有指定的NOT NULL
  3. RESTRICT:拒絕對父表的刪除或更新操作
  4. NO ACTION:標(biāo)準(zhǔn)SQL的關(guān)鍵字,在MySQL中與RESTRICT相同

修改約束

添加約束

????ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,……)

????CONSTARINT是給約束起名稱,可不加

刪除約束

????ALTER TABLE tabl_name DROP {INDEX|KEY} index_name

INSERT

????INSERT [INTO] tbl_name [(tbl_column,…)] {VALUES|VALUE} (expr|DEFAULT,…),(……)

????INSERT [INTO] tbl_name SET col_name={expr | DEFAULT},…

????INSERT [INTO] tbl_name [(col_name,…)] SELECT…

UPDATE 單表更新

????UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1 |DEFAULT}[,col_name2={expr2 | DEFAULT}]..[WHERE where_condition]

MySQL的簡單使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 扎鲁特旗| 衡东县| 巴彦淖尔市| 长寿区| 奈曼旗| 兰州市| 清水河县| 宣恩县| 永仁县| 九江县| 运城市| 玉田县| 四平市| 油尖旺区| 四川省| 视频| 德惠市| 泌阳县| 尖扎县| 陵川县| 横峰县| 雷州市| 平果县| 灵武市| 离岛区| 大安市| 本溪市| 诏安县| 凤阳县| 张家港市| 宜兴市| 泗阳县| 石河子市| 尼玛县| 宜昌市| 乐安县| 南投县| 临高县| 兴安盟| 武冈市| 岗巴县|