1. 程式人生 > >MySQL筆記——資料庫與表的基本操作

MySQL筆記——資料庫與表的基本操作

  • SQL(Structure Query Language)語句

       SQL是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關係資料庫系統;同時也是資料庫指令碼檔案副檔名。SQL語句有以下三種:

DDL(Data Definition Language)語句:

資料定義語句,定義了不同的資料段、資料庫、表、列、索引等資料庫物件。常用的語句關鍵字有create、drop、alter...

DML(Data Manipulation Language)語句:

資料操縱語言,用於新增、刪除、更新和查詢資料庫記錄,並檢查資料完整性。常用的語句關鍵字有insert、delete、update、select...

DCL(Data Control Language)語句:

資料控制語句,用於控制不同資料段直接的許可和訪問級別的語句。定義了資料庫、表、欄位、使用者的訪問許可權和安全級別。常用的語句關鍵字有grant、revoke...

DDL語句

1.建立資料庫:

語法:CREATE DATABASE dbname

例項:create database db_library;

2.檢視資料庫:

語法:SHOW DATABASES

例項:show databases;

3.選擇資料庫:

語法:USE dbname

例項:use db_library;

4.刪除資料庫:

語法:DROP DATABASE dbname

例項:drop databse db_library;

5.建立表:

語法:CREATE TABLE tablename (column_name_1   column_type_1   constraints,...)

例項:create table tb_bookinfo( id int(10) unsigned,

                                        name varchar(70),

                                                    author varchar(30),

                                                    number int(10),

                                                    price float(8,2) );

Note: 在建立表之前,要先選擇當前使用的資料庫。

6.檢視當前資料庫中的所有表:

語法:SHOW TABLES

例項:show tables;

7.查看錶:

語法:DESC tablename

例項:desc tb_bookinfo;

8.刪除表:

語法:DROP TABLE tablename

例項:drop table tb_bookinfo;

9.修改表結構:

(1)修改表型別:

語法:ALTER TABLE tablename MODIFY [COLUMN] column_name [FRIST|AFTER col_name]

例項:alter table tb_bookinfo modify column number int(10) unsigned;

Note[FRIST|AFTER col_name] 用於修改表字段的排列順序,如不需要,可以省略中括號[ ... ]中的語句,下同。

(2)增加表字段:

語法:ALTER TABLE tablename ADD [COLUMN] column_name [FRIST| AFTER col_name]

例項:alter table tb_bookinfo add column style varchar(30) ;

(3)刪除表字段:

語法:ALTER TABLE tablename DROP [COLUMN] column_name

例項:alter table tb_bookinfo drop column style;

(4)表字段更名:

語法:ALTER TABLE tablename CHANGE[COLUMN] old_col_name column_name [FRIST| AFTER col_name]

例項:alter table tb_bookinfo change name title varchar(40);

Notechange modify都可以修改表的定義,區別在於change後面要寫兩次列名,比較麻煩。但是change可以修改列的名稱,modify則不可以。

(5)更改表名:

語法:ALTER TABLE tablename RENAME [TO] new_tablename

例項:alter table tb_bookinfo rename tb_books;

DML語句

1.插入表記錄:

語法:INSERT INTO tablename (field1, field2, ..., fieldn) VALUES (value1, value2, ..., valuen)

例項:insert into tb_bookinfo(id, name, author, number, price) values (1, ‘msql’, ‘oracle’, 10, 69.9);

Note:

  • 可以不用指定欄位的名稱,但是values後面的順序應該和表字段的排列順序一致。例如:insert into tb_bookinfo values (2, ’hahaha’, ‘ bobo’, 30,28.8 );
  • 可以只插入資料記錄的一部分,縮短了SQL語句的複雜性。例如:insert into tb_bookinfo (id, name, number) values (2,’Harry Potter’,5);
  • 可以一次性插入多條記錄,好處是節省了網路開銷,可大大提高開發效率。例如:insert into tb_bookstatus values (1,’skill’), (2,’noval’), (3,’language’);

2.更新表記錄:

語法:UPDATE tablename SET column_name_1 = new_value1, cloumn_name_2= new_value2,..., column_name_n = new_valuen WHERE condition

例項:update tb_bookinfo set price=30 where id=1;

3.刪除表記錄:

語法:DELETE FROM tablename WHERE condition

例項:delete from tb_bookinfo where id=4;

4.清空表記錄:

語法:TRUNCATE TABLE tablename

例項:truncate table tb_bookinfo;

Note:次語句會刪除資料表中的所有資料,並且無法恢復,使用時一定要小心。

5.查詢表記錄:

語法:SELECT * FROM tablename [WHERE condition]

例項:select * from tb_bookinfo;

Note:

  • 查詢不重複的記錄:可使用distinct關鍵字實現,例如:select distinct author from tb_bookinfo;

  • 條件查詢:可以用where關鍵字實現,後面跟限定條件。結果排序:可以用關鍵字order by 實現,語法:SELECT * FROM tablename [WHERE condition] ORDER BY col_name_1 [DESC|ASC], col_name_2 [DESC|ASC],..

DCL語句

主要是DBA用來管理系統中物件的許可權使用,一般的開發人員很少使用,所以這裡不再介紹。