對大小寫不敏感,分號分隔命令
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,...