SQL基礎介紹

2021-10-02 04:27:41 字數 4790 閱讀 7786

對大小寫不敏感,分號分隔命令

sql預設接受null值,但not null可以使之拒絕接受

select - 從資料庫中提取資料

update - 更新資料庫中的資料

delete - 從資料庫中刪除資料

insert into - 向資料庫中插入新資料

create database - 建立新資料庫

alter database - 修改資料庫

create table - 建立新錶

alter table - 變更(改變)資料庫表

drop table - 刪除表

create index - 建立索引(搜尋鍵)

drop index - 刪除索引

select column_name,column_name from table_name;

select * from table_name;

從表中選取部分列資料或所有資料。

select distinct column_name,column_name

from table_name;

返回每列不同的值,去重複。

select column_name,column_name from table_name where column_name operator value;
提取滿足條件的記錄,

where運算子包括=、<、>、<>(不等於)、>=、<=、betweem(某個範圍內)、link(搜尋模式)、in(某列多個可能值),也可以用and、or。

select column_name(s) from table_name where column_name between value1 and value2;
select column_name,column_name from table_name order by column_name,column_name asc|desc;
預設公升序排序,多個列是前面優先,desc為降序排序。

第一種形式無需指定要插入資料的列名,只需提供被插入的值即可:

insert into table_name values (value1, value2, value3,...);
第二種形式需要指定列名及被插入的值:

insert into table_name (column1,column2,column3,...) values (value1,value2,value3,...);
update table_name set column1=value1,column2=value2,column3=value3,...where some_column=some_value;
更新where語句篩選下的資料,記得where語句,否則全部更新。

delete from table_name where some_column=some_value;
刪除where篩選下的資料

delete from table_name;

delete * from table_name;

不刪除表情況下刪除所有行(結構、屬性、索引均未變)

不同語句支援不同,目前不做細究,參考菜鳥教程的select top語句

select column_name(s) from table1 union select column_name(s) from table2;
合併時需要有相同數量的列,允許重複值使用union all。

刪除表

drop table table_name
刪除資料庫

drop database database_name
刪除資料不刪除表

truncate table table_name
刪除索引各有不同,不再贅述。

create database new_table;
create table table_name

(column_name1 data_type(size),

column_name2 data_type(size),

column_name3 data_type(size),

···);

column_name不必說,data_type為資料型別,size為最大長度。

create index index_name on table_name (column_name)
alter table table_name add column_name datatype

alter table table_name drop column column_name 刪除列

alter table table_name alter column column_name datatype 修改資料型別

修改各有所不同

create table table_name

( column_name1 int not null,

column_name2 varchar(255) not null,

column_name3 varchar(255) not null,

···);

alter table table_name modify column_name1 int not null 某一字段增加not null

alter table table_name modify column_name2 int null 某一字段解除not null。

select column_name(s) from table_name where column_name like pattern;
和where語句實際上類似,只不過多了指定模式,多用萬用字元指定。

mysql不支援這個,而是支援insert info select,

create table new_table as select * from old_table

select * info new_table from old_table1;

select column_name(s) info new_table from old_table1;

和集合類似,共7種方法。

例如inner join返回所有滿足條件的行,

select table_name1.column_name1, table_name2.column_name2, table_name2.column_name1,table_name2.column_name2 

from table_name1 inner join table_name2 on table_name1.column_name1=table_name2.table_name2.column_name3;

返回結果為,table_name1.column_name1, table_name2.column_name2, table_name2.column_name1,table_name2.column_name2四個列,基於table_name1的資料新增table_name2的資料,然後table_name1的column_name1與table_name2的column_name2的資料相對應。

所有join為:

select table_name1.column_name1, table_name2.column_name2, table_name2.column_name1,table_name2.column_name2 

from outer join table_name2 on table_name1.column_name1=table_name2.table_name2 order by table_name2.column_name1 desc;

character(n)字元/字串固定長度,varchar(n)或charcter varying(n)字元/字串最大長度,boolean布林值,integer(p)整數值精度p預設10,decimal(p,s)精度p小數點後位數s,date年月日,time時分秒,timestamp包括date和time,還有其他型別。

date格式一般為yyyy-mm-dd,datetime和timestamp為yyyy-mm-dd hh:mm:ss,

%替代乙個或多個字元,_乙個字元,^[charlist]選取以xx開頭的[^charlist][!charlist]表否定。

例如^[gfs]選取列資料中以g、f或s開頭的資料。^[a-h]表示資料以a-h開頭的。

列的 sql 別名語法

select column_name as alias_name from table_name;
表的 sql 別名語法

select column_name(s) from table_name as alias_name;

零基礎學習SQL 介紹和安裝

結構化查詢語言 structured query language 簡稱sql,是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢 更新和管理關係資料庫系統。以一言蔽之,sql就是用來運算元據庫的程式語言。但確切地說,它只能作用在關聯式資料庫上,而不能對鍵值對,json,xm...

介紹SQl語言

sql 結構化查詢語言 structured query language s ql語句 就是我們通過程式與資料庫進行 溝通 的語言。sql 是一 種標準 市場上有很多dbms,所有的關係型資料都支援標準sql 但是各個廠商也制定了自己的獨特語句,比如微軟的ms sql server 它裡邊有一種叫...

SQL基本介紹

sql 是用於訪問和處理資料庫的標準的 計算機語言 即 結構化查詢語言 mysql是使用比較廣泛的一種 關係型資料庫 rdbms 指的是關係型資料庫管理系統,即以 二維表 行 記錄 列 字段 為基礎。rdbms 是 sql 的基礎,同樣也是所有現代資料庫系統的基礎,比如 ms sql server,...