一起來學SQL(三)

2021-08-09 02:17:07 字數 3191 閱讀 8319

create database 用於建立資料庫。

sql create database 語法

create database database_name

create table 語句用於建立資料庫中的表。

sql create table 語法

create table 表名稱

( 列名稱1 資料型別,

列名稱2 資料型別,

列名稱3 資料型別,

…. )

約束用於限制加入表的資料的型別。

not null 約束強制列不接受 null 值。

not null 約束強制字段始終包含值。這意味著,如果不向字段新增值,就無法插入新記錄或者更新記錄。

下面的 sql 語句強制 「id_p」 列和 「lastname」 列不接受 null 值:

create table persons

( id_p int not null,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255)

)

unique 約束唯一標識資料庫表中的每條記錄。

unique 和 primary key 約束均為列或列集合提供了唯一性的保證。

primary key 擁有自動定義的 unique 約束。

在mysql

create table persons(

id_p int not null,

unique(id_p)

p.s.

當表已被建立時,如需在 「id_p」 列建立 unique 約束(mysql / sql server / oracle / ms access):

alter table persons add unique (id_p)

如需命名 unique 約束,並定義多個列的 unique 約束:

mysql / sql server / oracle / ms access:

alter table persons add constraint uc_personid unique (id_p,lastname)

撤銷 unique 約束

mysql: alter table persons drop index uc_personid

mysql:

create table orders

( id_o int not null,

primary key (id_o),

foreign key(id_p) references persons(id_p)

) 需要命名 foreign key 約束,以及為多個列定義 foreign key 約束

constraint fk_perorders foreign key (id_p)

references persons(id_p)

check 約束用於限制列中的值的範圍。

如果對單個列定義 check 約束,那麼該列只允許特定的值。

如果對乙個表定義 check 約束,那麼此約束會在特定的列中對值進行限制。

create table orders

( check (id_p>0)

)

default 約束用於向列中插入預設值。

如果沒有規定其他的值,那麼會將預設值新增到所有的新記錄。

create table orders

( city varchar(255)default『sandnes』

)

create index 語句用於在表中建立索引。

在不讀取整個表的情況下,索引使資料庫應用程式可以更快地查詢資料。

sql create index 語法

在表上建立乙個簡單的索引,允許使用重複的值:

create index index_name on table_name (column_name)

p.s. 「column_name」 規定需要索引的列。

sql create unique index 語法

在表上建立乙個唯一的索引。唯一的索引意味著兩個行不能擁有相同的索引值。

create unique index index_name on table_name (column_name)

e.g.1、以降序索引某個列中的值,您可以在列名稱之後新增保留字 desc:

create index personindex on person (lastname desc)

2、希望索引不止乙個列,在括號中列出這些列的名稱,用逗號隔開:

create index personindex on person (lastname, firstname)

alter table 語句用於在已有的表中新增、修改或刪除列。

sql alter table 語法

表中新增列: alter table table_name add column_name datatype

刪除表中的列: alter table table_name drop column column_name

p.s.某些資料庫系統不允許這種在資料庫表中刪除列的方式 (drop column column_name)。

我們通常希望在每次插入新記錄時,自動地建立主鍵欄位的值。

我們可以在表中建立乙個 auto-increment 字段。

用於 mysql 的語法

下列 sql 語句把 「persons」 表中的 「p_id」 列定義為 auto-increment 主鍵:

create table persons

( p_id int not null auto_increment,

)

一起來學SQL(二)

insert into 語句用於向 中插入新的行。語法 insert into 表名稱 values 值1,值2,也可以指定所要插入資料的列 insert into table name 列1,列2,values 值1,值2,e.g.1 插入新的行 insert into persons value...

一起來學ES Bulk剖析

restcontrollor接收請求,dispatch到對應的handler上 baseresthandler呼叫restbulkaction進行前置處理,請求轉為bulkrequest nodeclient根據actionmodule註冊的對映關係,找到transportbulkaction作為t...

一起來學python(基礎)

python是一門流行的程式語言。它由 guido van rossum 建立,於 1991 年發布。它用於 python 可以做什麼?注 在python中 對 格式的要求很嚴格 縮排 注釋以 開頭 注釋可以放在一行的末尾,並且將忽略該行的其餘部分 快捷鍵 ctrl cmd 格式 單行注釋 說明文字...