sql基礎語法復習
約定:數據庫名:test;表名:tb1,tb2,tb3…;
對象:數據庫:database 表:table 列:column 索引:index 視圖:view 存儲過程:procedure
一、數據結構操作
新增:create 刪除:drop 查看:show 修改:alter
數據庫一般不做修改,數據庫改名:rename...to...,但是不推薦使用,有丟失數據的風險。
解決方法:當數據量小時,新建一個數據庫,把原數據庫的數據導入到新數據庫。
當數據量大時,使用shell腳本重命名所有的表。
溫馨提示:操作有風險,請你先備份!
例:
1、新增數據庫 CREATE DATABASE test;
2、選擇數據庫 USE test;
3、查看數據庫 查看有哪些數據庫:SHOW DATABASES; 顯示當前使用的數據庫:SELECT DATABASE();
4、刪除數據庫 DROP DATABASE test;
5、新增表 CREATE TABLE tb1(column_name1 datetype);
6、刪除表 DROP TABLE tb1;
7、修改表名 ALTER TABLE tb1 RENAME TO new_tb1;
8、已有表中的列操作 新增:ALTER TABLE tb1 ADD column_name string 刪除:ALTER TABLE tb1 DROP COLUMN column_name
修改:ALTER TABLE tb1 ALTER COLUMN column_name datatype(SQL/MS Access)
ALTER TABLE tb1 MODIFY COLUMN column_name datatype(My SQL/Oracle)
二、數據操作
新增(插入):insert into(into可省略) table_name()插入數據的表名(指定字段名)(可以不指定字段,數據按列名順序依次插入) values():插入的數據
insert table_name() values();
修改:update 設置:set
update table_name set column1=value1,column2=value2 where ...
刪除:delete 刪除某行數據,沒有where則刪除所有行 誤區:刪除數據是按行算的,不能說刪除某行數據中的某個值,如果要這樣做的話要用update把值改為空
delete from table_name where column1=value1;
查找:select...from... 去重:distinct 查詢條件:where 多條條件運算符:add/or/between/in 結果集排序:order by...ASC(升序)/DESC(降序)
select distinct column_name from table_name where column_name operator value add/or column_name2 operator value2 order by column_name,column_name2 ASC/DESC;
例:
1、給表1插入一條數據
insert tb1 values("id","name","age","code","class"...);
2、修改表1中名字叫張三的人的學號,改為001
update tb1 set code="001" where name=‘張三‘;
3、刪除表1中年齡大於22的數據
delete from tb1 where age>22
4、查詢表1中年齡等於22歲且名字都叫張三的學生都屬於哪些班級並按班級升序
select distinct class from tb1 where age=22 add name=‘張三‘ order by class asc;
三、查詢詳解
1、where條件常用運算符:
=,<>,<,>,<=,>=,between and,in(,,),like,not,add,or
2、like模糊查詢常用通配符:
% 替代一個或多個字符
- 公替代一個字符
[charlist] 字符列中的任何單一字符
[!charist]或[^charlist] 不在字符列中的任何單一字符
3、as別名
作用:將結果列改為需要的名稱;用別名標識列的來源(來自哪張表);給列的函數結果命名
4、函數
MAX/MIN 最大值/最小值
SUM 合計值
AVG 平均值
COUNT 行數
TOP 返回記錄的前幾條
GROUP BY 分組
HAVING where不能與group by一起使用,用having來代替where
5、多表查詢時,列名要加上表名
select tb1.name,tb2.name,tb3.age from tb1,tb2,tb3;
sql基礎語法復習