sql小筆記(增刪改查——新增列、修改表名、列的欄位型別等)
個人小結,隨機更新
只瞭解sql知識點並不一定能靈活使用,可以參照sql習題:
sql小題
對錶的增刪改查
增:新增表、列
關鍵字:create
基本語句:create table table_name ( id varchar2(4),name varchar2(20) );
--基本建表語句
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
-- 增加列
alter table table_name add new_column datatype;
其他:
1、根據已有表,建表。
create table tea as select * from teacher where 1=2; --建立一張列和資料型別都與teacher表相同的空表
create table stu_bk as select * from stu; --建立一個與表stu相同的stu_bk表。(常用於表的備份)
--同理,只要as後的select語句能獲取一張表,則都能建立這樣的表
create table bk as select stu.id,stu.name,tea.course from student stu,teacher tea;
2、給表和列新增註釋
COMMENT ON table student IS '學生資訊表,有學號、姓名、班級';
select * from user_tab_comments; -- user_tab_comments是一張檢視,含有table_name、table_type、comments三列。
COMMENT ON COLUMN stu.name is '學生的名字';
select * from user_col_comments; --user_col_comments是一張檢視,含有table_name、column_name、comments三列。
刪:刪除表、列
關鍵字:drop
基本語句:
drop table table_name; -- 刪除表。
alter table table_name drop column column_name; -- 刪除列。
改:修改表名、列名、資料型別
關鍵字:alter
【alter .. modify
、alter .. rename to ..
】
基本語句:(修改表名、修改欄位型別)
alter table table_name rename to new_table_name; --將表table_name改名為new_table_name。
alter table table_name rename column old_column_name to new_column_name; --修改列名。
alter table table_name modify id varchar2(100); --將列名為id的資料型別改為varchar2(100)。
注意:
修改欄位型別時,同型別擴張有效、縮小欄位長度需注意資料本身;不同資料型別修改時表中資料需為空。
如:char(1)可以修改為varchar2(2);varchar2(40)可以修改為varchar2(10),但資料本身長度大於10時,修改失敗;date修改為varchar2(20),由於資料型別不同不能生效,但當列資料為空時可以生效。
查
關鍵字:select
介紹系統中的幾張檢視
select * from all_tables; --all_tables 可查詢當前使用者的許可權表。
select * from USER_TAB_COMMENTS; --USER_TAB_COMMENTS 可檢視錶的註釋。
select * from user_col_comments; --user_col_comments 可檢視錶中列的註釋
僅對資料進行的增刪改查
增
關鍵字:insert
基本語句:insert into table_name(column1,column2,...) values(data1,data2,...)
insert into stu(id,name,grade) values(1,'張三',87);
insert into stu(id,name,grade) values(2,'tom',90);
insert into stu(id,name,class_id) values(3,'jack',87),
(4,'mark',92),
(5,'李四',78),
...;
注意:
1、一般value
和values
通用,但values
應用更廣,多行插入時value
卻稍快。
2、values()
中資料包含所有列時,一般table_name()
中不寫列名。
刪
關鍵字:delete
、truncate
基本語句:
1、按條件刪除:delete from table_name where id = 2;
。
delete from table_name; --清空表。需commit,可以回滾。
delete from table_name where id > 2 and name like '%k%'; --選擇性刪除:刪除id大於2且name中含有k的資料。
2、清空表,不可回滾:truncate table table_name;
改
關鍵字:update
、replace
基本語句:update table_name set column_name ..
UPDATE STU SET GRADE = 100 WHERE ID = 10; --將學生表中id為10的學生成績修改為100。需commit。
update stu set replace(name,'jack','tom') where id = 2; --將id為2的學生,姓名從jack改為tom。
REPLACE INTO stu VALUES (1, 'tom'); --插入一條資料,id為1,姓名為tom,其他欄位為空。【在sqlite中,該語句會因主鍵id衝突實現覆蓋(更新),由於是覆蓋,其他欄位會變為空】
查
關鍵字:select
基本語句:select .. from ..
select * from student; --查詢student表的所有資料。
其他關鍵字:
where
:條件查詢關鍵字
like
:模糊檢索,'%%'
,%
表示任意,_
表示單個任意字元。
is null / is not null
:is
和is not
後只能接null
。
min / max
:最大最小值
length
:字元長度
order by
:排序,預設升序asc;降序為desc。
substr(str,start,n)
:擷取子串,從str字串的第start字元開始,取n個字元。
檢視
檢視的特點:不能修改
分頁查詢
關鍵字:limit
、offset
-- LIMIT 後的數字代表返回幾條記錄,OFFSET 後的數字代表從第幾條記錄開始返回(第一條記錄序號為0),也可理解為跳過多少條記錄後開始返回。
select * from stu limit 4 offset 8; -- 從第8條記錄起(包含第8條),返回4條記錄
-- LIMIT X,Y :Y代表返回幾條記錄,X代表從第幾條記錄開始返回(第一條記錄序號為0),切勿記反。
select * from stu limit 4,7; -- 從第7條記錄起(包含第7條),返回4條記錄
更新
關鍵字:update .. set ..
、replace into
相關文章
- sql語句修改欄位型別和增加欄位SQL型別
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- SQL增刪改查SQL
- 筆記03:sqlalchemy增刪改查筆記SQL
- Oracle表 列欄位的增加、刪除、修改以及重新命名操作sqlOracleSQL
- sql指令,增,刪,查,改SQL
- mysql修改表欄位學習筆記MySql筆記
- SQL 基礎增、刪、改、查SQL
- 單表增刪改查
- 基本 SQL 之增刪改查(二)SQL
- MySQL增刪改查學習筆記(手寫)MySql筆記
- MySQL表的增刪查改(提高篇)MySql
- MySql 表資料的增、刪、改、查MySql
- MySQL表的增刪改查(基礎)MySql
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- onnx 增刪改查,修改節點,刪除節點,修改input,output
- MySQL表的增刪改查(進階)下MySql
- Native for sql 查詢列欄位非命令列形式SQL命令列
- mysql指令1:增刪改庫,資料型別,建立表MySql資料型別
- 增刪改查
- 常用SQL語句1-增刪改查SQL
- MySQL 常用 SQL 增刪改查操作詳解MySql
- Oracle 修改欄位型別和長度Oracle型別
- mySql刪除多個表 刪除多個欄位的SQLMySql
- oracle 使用sql查詢表註釋和列註釋及資料型別等OracleSQL資料型別
- 列表的增刪改查
- 字典的增刪改查
- layui的增刪改查UI
- mybatis的增刪改查MyBatis
- redist的增刪改查Redis
- oracle 臨時表空間的增刪改查Oracle
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- 揭秘PostgreSQL:如何查詢表欄位名稱SQL
- Mongoose查增改刪Go
- indexedDB 增刪改查Index
- mysql增刪改查MySql
- SQL Server 查詢表註釋和欄位SQLServer
- Tree樹狀圖的動態增刪查改(下)修改與刪除