sql必會系列之索引

sql必會系列之索引

031 在已經存在的表上創建唯一索引

1、CREATE UNIQUE INDEX index_name ON table_name (

field_name [(index_length)] [ASC|DESC])

2、ALTER TABLE table_name ADD UNIQUE INDEX|KEY

index_name(field_name [(index_length)] [ASC|DESC])

032 創建表時創建全文索引

table_name(

column_name

FULLTEXT INDEX|KEY [index_name](

field_name [(index_length)] [ASC|DESC])

)

033 在已經存在的表上創建全文索引

1、CREATE FULLTEXT INDEX index_name ON table_name (

field_name [(index_length)] [ASC|DESC])

2、ALTER TABLE table_name ADD FULLTEXT INDEX|KEY

index_name(field_name [(index_length)] [ASC|DESC])

034 創建多列索引

和上面的方法類似

index_name(field_name_1 [(index_length)] [ASC|DESC],

… ,

field_name_n [(index_length)] [ASC|DESC])

035 刪除索引

DROP INDEX index_name ON table_name

036 創建視圖

CREATE VIEW view_name AS select_query

037 查看視圖信息

SHOW TABLE STATUS [FROM database_name] [LIKE ‘pattern’]

038 查看視圖設計信息

DESC[RIBE] view_name

039 刪除視圖

DROP VIEW view_name[, view_name]

040 修改視圖

1、CREATE OR REPLACE VIEW view_name AS select_query

2、ALTER VIEW view_name AS select_query

041 創建觸發器

CREATE TIRGGER trigger_name

BEFORE|AFTER DELETE|INSERT|UPDATE

ON table_name FOR EACH ROW

Triggle_statement

Triggle_statement:觸發器被觸發要執行的語句(增、刪、改、查等等)

042 查看觸發器

SHOW TRIGGERS

043 刪除觸發器

DROP TRIGGER trigger_name

044 插入數據

INSERT INTO table_name (field_1, field_2, …) VALUES (value_1, value_2, vaule_3, …)

045 查看Mysql表結構的命令,如下:

desc 表名;

show columns from 表名;

describe 表名;

show create table 表名;

use information_schema

select * from columns where table_name=’表名’;

046 數據庫分頁查詢

select * from userdetail where userid limit 0,20

049 MYSQL支持事務嗎?

在缺省模式下,MYSQL是autocommit模式的,所有的數據庫更新操作都會即時提交,所以在缺省情況下,mysql是不支持事務的。 但是如果你的MYSQL表類型是使用InnoDB Tables 或 BDB tables的話,你的MYSQL就可以使用事務處理,使用SET AUTOCOMMIT=0就可以使MYSQL允許在非autocommit模式, 在非autocommit模式下,你必須使用COMMIT來提交你的更改,或者用ROLLBACK來回滾你的更改。

示例如下:

START TRANSACTION;

SELECT @A:=SUM(salary) FROM table1 WHERE type=1;

UPDATE table2 SET summmary=@A WHERE type=1;

COMMIT;

050 MYSQL相比於其他數據庫有哪些特點?

1、可以處理擁有上千萬條記錄的大型數據

2、支持常見的SQL語句規範

3、可移植行高,安裝簡單小巧

4、良好的運行效率,有豐富信息的網絡支持

5、調試、管理,優化簡單(相對其他大型數據庫)

051 如何解決MYSQL數據庫中文亂碼問題?

1、在數據庫安裝的時候指定字符集

2、如果在安完了以後可以更改以配置文件

3、建立數據庫時候:指定字符集類型

4、建表的時候也指定字符集

053 MySQL取得當前時間的函數是?,格式化日期的函數是

取得當前時間用 now() 就行。在數據庫中格式化時間 用DATE_FORMAT(date, format)。根據格式串

format 格式化日期或日期時間值date,返回結果串。

054 你如何確定 MySQL 是否處於運行狀態?

答案: Debian 上運行命令 service mysql status,在RedHat 上運行命令 service mysqld status。然後看看輸出即可。

055 如何開啟或停止 MySQL 服務?

答案:運行命令 service mysqld start 開啟服務;運行命令 service mysqld stop 停止服務。

056 如何通過 Shell 登入 MySQL?

答案:運行命令 mysql -u root –p

057 如何列出所有數據庫?

答案:運行命令 show databases;

058 如何切換到某個數據庫並在上面工作?

答案:運行命令 use database_name; 進入名為 database_name 的數據庫。

059 如何列出某個數據庫內所有表?

答案:在當前數據庫運行命令 show tables;

060 如何獲取表內所有 Field 對象的名稱和類型?

答案:運行命令 describe table_name;

為什麼少了幾個?請關注下篇文章;

Java架構師歷程mush

讀而思,為您每日推薦值得深度思考的文章!


分享到:


相關文章: