MySQL常用語句及注意事項
1.SQL 使用單引號來環繞文字值(大部分資料庫系統也接受雙引號)。如果是數值,請不要使用引號。
2.可以在不刪除表的情況下刪除所有的行。(不要加*)這意味著表的結構、屬性和索引都是完整的
DELETE FROM table_name
3.修改表名稱
alter table test2 rename to test3;
rename table test3to test4;
4.Between A and B (邊界A是包括的B是不包括的,不同的資料庫對邊界的處理不一樣),我實際操作中兩邊都是包括的
5.表的複製:
1、既複製表結構也複製表內容的SQL語句:
CREATE TABLE tab_new AS SELECT * FROM tab_old; (as可以不寫)
2、只複製表結構不復製表內容的SQL語句:
CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2; (建立一個結構一樣的表,as可以不寫)
3、將一個表的部分內容複製到另一個表中:
insert into B(id,name,rate) select id,name,rate from A ;
查詢內容插入另一張表:
insert into tablename(id,poNum,poCd,poType) select * from test limit 2600,100;
limit:第一個數是從某個數的下一個(2601)開始,不寫就是前多少條,第二個數是限制取多少條.MySQL不支援top關鍵字而是用limit來實現top的功能
6.UNION 操作符用於合併兩個或多個SELECT 語句的結果集。UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 SELECT 語句中的列的順序必須相同。UNION命令只會選取不同的值。如果允許重複的值,請使用UNION ALL。
SELECT column_name(s) FROM table_name1
UNION ALL
SELECTcolumn_name(s) FROM table_name2
7.SELECT INTO 語句從一個表中選取資料,然後把資料插入另一個表中。IN 子句可用於向另一個資料庫中拷貝表:
SELECT *
INTO Persons_backup IN 'Backup.mdb'
FROM Persons
8.CREATE DATABASE my_db ,SQL中char容納固定長度的字串,varchar容納可變長度的字串.
CREATE TABLE persion
(
id bigint(20) NOT NULL AUTO_INCREMENT,
last_name varchar(255),
first_name varchar(255),
address varchar(255),
city varchar(255),
PRIMARY KEY (`id`)
)
9.Constraints約束,約束用於限制加入表的資料的型別。可以在建立表時規定約束(通過 CREATE TABLE 語句),或者在表建立之後也可以(通過 ALTER TABLE 語句)。主要的約束有NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT
10.每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。可以給約束起名字,建立表後新增約束,
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
不同資料庫的操作語句不太一樣
11.新增和刪除主鍵
alter table person addprimary key (id); alter table person drop primary key;
12.表已經存在設定預設值
ALTER TABLE Persons ALTERCity SET DEFAULT 'SANDNES';
刪除預設值
ALTER TABLE Persons ALTER City DROP DEFAULT(MySQL為例)
ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT(其他資料庫)
13.建立索引:
CREATE INDEX poNo ON Person (LastName DESC);//索引在DDL中是用key表示
刪除索引:
alter table Person drop index poNo;
刪除表和資料庫
drop table name;
drop database name;
14.新增、修改、刪除列、改變列屬性
Alter table Person add birthday date(50)
Alter table person change birthday birth date(50);
Alter table person drop column birthday;
Alter table Person modify column birthday varchar(50);
15.COUNT(DISTINCTcolumn_name) 函式返回指定列的不同值的數目
SELECT COUNT(DISTINCT column_name) FROM table_name
16.在 SQL 中增加 HAVING 子句原因是 WHERE 關鍵字無法與合計函式一起使用。
檢視view的作用(為了安全性,可以隱藏不必要顯示的資料)
17.分組查詢
SELECT
sum(CASE when score>=0 and score<60 then 1 else 0 end) AS '不及格',
sum(CASE when score>=60 and score<70 then 1 else 0 end) AS '及格',
sum(CASE when score>=70 and score<80 then 1 else 0 end) AS '一般',
sum(CASE when score>=80 and score<90 then 1 else 0 end) AS '良好',
sum(CASE when score>=90 and score<=100 then 1 else 0 end) AS '優秀'
from student_score;
18.一天前(24小時前)資料
select * from person where create_time < NOW() - interval 1 day;
select * from person where create_time < NOW() - interval 24 hour;
19.顯示錶結構,顯示建表語句
desc tablename;
SHOW CREATE TABLE table_name;
20.顯示索引
show index from person;
21.查詢區分大小寫
select * from table_name where binary name like 'a%';
22.判斷欄位中是否含有中文,查出帶漢字的資料
SELECT * FROM person WHERE length(`name`) <> CHAR_LENGTH(`filename`)
length ()函式計算包含位元組的長度,一個漢字是3個位元組,一個數字或字母是一個位元組;char_length()是計算包含字元長度, 漢字,數字和字母都是一個字元。
所以查詢條件中,長度相等,則欄位中無漢字;長度不相等,則有漢字。
23.檢視執行計劃
explain select * from person where ....
24.超多分頁查詢優化
select a.* from tabelname a,(select id from tablename where ... limit 10000,20) b where a.id = b.id;
相關文章
- SQL 語句的注意事項SQL
- mysql索引使用技巧及注意事項MySql索引
- Oracle vs PostgreSQL,研發注意事項(13) - UPDATE語句OracleSQL
- Oracle vs PostgreSQL,研發注意事項(2)-DDL語句與事務OracleSQL
- mySql常用語句MySql
- mysql常用語句及問題處理MySql
- 關於COMMIT和ROLLBACK語句的使用注意事項MIT
- 教程:MySQL 8安裝與配置及注意事項MySql
- 解壓縮版mysql安裝及注意事項MySql
- Mysql日期常用語句MySql
- 【MySQL】常用拼接語句MySql
- mysql的常用語句MySql
- MySql 常用Sql語句MySql
- MySQL半同步使用注意事項MySql
- oracle移植到mysql注意事項OracleMySql
- 搭建 nuget 私服及注意事項
- Guava HashMultimap使用及注意事項Guava
- Go語言中 defer 使用場景及注意事項,你是要注意的!Go
- mysql 優化常用語句MySql優化
- Latex寫作常用操作和注意事項
- MySQL 資料庫-索引注意事項MySql資料庫索引
- MySQL 查詢大表注意事項MySql
- Mysql大表查詢注意事項MySql
- MySQL 安裝後的注意事項MySql
- MySQL型別轉換注意事項MySql型別
- MYSQL 安裝維護注意事項MySql
- MySQL 的 23 條安全注意事項MySql
- 介面開發文件及注意事項
- TokuDB的安裝及注意事項
- oracle hash join原理及注意事項Oracle
- mysql 配置注意事項、 mysql 資料型別MySQL 資料型別
- 關於mysql執行效率優化注意事項及要點MySql優化
- mysql 常用sql語句 簡介MySql
- MySQL中常用的SQL語句MySql
- MYSQL 常用sql語句小結MySql
- jQuery 語法總結和注意事項jQuery
- Mysql索引以及使用索引注意事項MySql索引
- 安裝mysql-python注意事項MySqlPython