九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux系統(tǒng)下SQL Server數(shù)據(jù)庫操作
userphoto

2023.10.07 河北

關(guān)注

Linux系統(tǒng)SQL Server數(shù)據(jù)庫操作命令


    • 連接數(shù)據(jù)庫 sqlcmd命令

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

    • 查看所有數(shù)據(jù)庫:

    • 創(chuàng)建表

    • 添加主鍵約束

    • 外部關(guān)鍵字

    • 怎么添加唯一約束

    • 怎么添加非空約束

    • 怎么使用默認(rèn)約束

    • 設(shè)置表的屬性值自動增加


連接數(shù)據(jù)庫 sqlcmd命令

SQLServer 提供了 sqlcmd 命令,來讓我們操作 SQLServer 數(shù)據(jù)庫。接下來我們連接它,并在其中創(chuàng)建一個名為 TestDb 的數(shù)據(jù)庫。

連接 SQLServer :sqlcmd -S localhost -U sa -P '<123123Aa!@>'


如果連接失敗原因是服務(wù)還未開啟,等待幾秒重試即可,上述語句各參數(shù)解釋如下:

sqlcmd 是連接數(shù)據(jù)庫必要的語句, localhost 代表從本地連接,sa 是用戶名, '<123123Aa!@>’ 是密碼。

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

create database TestDb

查看所有數(shù)據(jù)庫:

select name from sys.databases。


操作完畢之后退出: exit 。

創(chuàng)建表

我們先來了解一下,在數(shù)據(jù)庫中創(chuàng)建表的規(guī)則:

CREATE TABLE 表名( 字段名,數(shù)據(jù)類型, 字段名,數(shù)據(jù)類型, .....)

例如:


添加了數(shù)據(jù)的表格,示例如下:

首先,創(chuàng)建數(shù)據(jù)庫(在 SQLServer 數(shù)據(jù)庫中是不區(qū)分大小寫的,不過數(shù)據(jù)庫的名字是區(qū)分大小寫的),如下:

CREATE DATABASE MyDb

然后,選擇數(shù)據(jù)庫:

USE MyDb

最后,創(chuàng)建t_user表:

CREATE TABLE t_user(
    id INT,
    username VARCHAR(32),
    password VARCHAR(32),
    phone VARCHAR(11))

表創(chuàng)建好之后,可以使用如下語句查看表的基本結(jié)構(gòu),用來驗證是否創(chuàng)建成功。

語法如下:

sp_help 表名

添加主鍵約束

有兩種方式可以添加主鍵約束:1.在定義列的同時指定主鍵,2.在定義完字段之后,再指定主鍵。

(1) 在定義列的同時指定主鍵:


(2) 在定義完所有列之后,指定主鍵。

多字段聯(lián)合主鍵

在開發(fā)中,還有一種情況很常見,就是將幾個字段聯(lián)合在一起作為主鍵,那這個在代碼中怎么實現(xiàn)呢?
舉個例子,我們將員工的名字和部門 ID 聯(lián)合起來作為主鍵:

CREATE TABLE t_emp2(
    name VARCHAR(32),
    deptId INT,
    salary FLOAT,
    PRIMARY KEY(name,deptId))

語句執(zhí)行后,會將 name 和 deptId 字段組合成為表 t_emp2 的多字段組合主鍵。

外部關(guān)鍵字

外部關(guān)鍵字叫做外鍵,外鍵就是另一張表中的主鍵。

:外鍵有啥用啊?
:外鍵的主要作用就是保持?jǐn)?shù)據(jù)的一致性,完整性。

再問:怎么保證的呢?
:看圖。


如圖有兩張表,classId 是 T_Student 的外鍵,同時是 T_class 表的主鍵。如果我們要刪除 T_class 表中 classId 為 1 的字段,程序是會報錯的。因為 T_Student 表中有數(shù)據(jù)和 classId 為 1 的字段關(guān)聯(lián)了,是不能刪除的,這樣子就保證了數(shù)據(jù)的一致性和完整性。

繼續(xù)問:那怎么才能刪除呢?
接著答:需要先刪除 T_Student 表中 classId 為 1 的兩個字段。

如何給表添加外部關(guān)鍵字
在 SQLServer 中,給表中字段添加外鍵約束的語法規(guī)則如下:

CONSTRAINT 外鍵名 FOREIGN KEY 字段名 REFERENCES 主表名(主鍵名)

舉個例子:現(xiàn)在有兩張表, t_emp , t_dept 如下:


我們來創(chuàng)建兩張表,并給員工表( t_emp )添加外鍵:

CREATE TABLE t_dept(
    deptId INT PRIMARY KEY,
    name VARCHAR(22),
    location VARCHAR(50));CREATE TABLE t_emp(
    id INT PRIMARY KEY,
    name VARCHAR(22),
    deptId INT,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES t_dept(deptId));

實際操作如圖:


另外一種設(shè)置外鍵的方式:

CREATE TABLE t_dept( deptId INT PRIMARY KEY, name VARCHAR(22), location VARCHAR(50));CREATE TABLE t_emp( id INT PRIMARY KEY, name VARCHAR(22), deptId INT FOREIGN KEY REFERENCES t_dept(deptId));

在定義字段的時候,也可以定義外部關(guān)鍵字,格式: FOREIGN KEY REFERENCES 關(guān)聯(lián)的表名(字段名) ,這種方式比較簡潔,不過這種方式不能指定外鍵名,即外鍵名是隨機的。

怎么添加唯一約束

唯一約束( Unique Constraint )要求該列唯一,允許為空,但是只能有一個空值。唯一約束可以確保一列或者幾列不出現(xiàn)重復(fù)值。

定義部門表的部門名稱唯一,使用關(guān)鍵詞 UNIQUE ,SQL 語句如下:

CREATE TABLE t_dept(
    id INT PRIMARY KEY,
    name VARCHAR(22) UNIQUE,
    location VARCHAR(50))

怎么添加非空約束

關(guān)鍵詞: NOT NULL 。

例如:

CREATE TABLE t_dept( id INT PRIMARY KEY, name VARCHAR(22) NOT NULL, location VARCHAR(50))

怎么使用默認(rèn)約束

默認(rèn)約束:即給字段一個默認(rèn)值。
關(guān)鍵詞: DEFAULT 。

例如:

CREATE TABLE t_emp(
    id INT PRIMARY KEY,
    name VARCHAR(22),
    sex VARCHAR(2) DEFAULT '男')

注意:如果是添加字符串型,認(rèn)值要使用單引號;如果是整型,則不需要加任何符號。

設(shè)置表的屬性值自動增加

在數(shù)據(jù)庫應(yīng)用中,經(jīng)常需要在每次插入新紀(jì)錄時,系統(tǒng)自動生成字段的主鍵值,即:


關(guān)鍵詞: IDENTITY(1,1) 表示自動增長,初始值為 1 ,增量為 1 。
例如:

CREATE TABLE t_tmp( id int PRIMARY KEY IDENTITY(1,1), name VARCHAR(32))
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL: MySQL約束(詳細、全)
數(shù)據(jù)庫部分(MySql)_4
mysql[0x01]--基礎(chǔ)知識
2009-12-08傳智播客 數(shù)據(jù)庫——Oracle觸發(fā)器/存儲過程/視圖等 - 充滿生活的味道! - BlogJava
MySQL基礎(chǔ)入門
MySQL8.0數(shù)據(jù)庫基礎(chǔ)教程(二)-理解"關(guān)系"
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服