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);
Note:change 與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用來管理系統中物件的許可權使用,一般的開發人員很少使用,所以這裡不再介紹。