SQL
概念:結構化查詢語言(SQL = Structured Query Language),
也是一種程式語言(資料庫查詢和程式設計語言),可以用於資料的存取及查詢,更新,管理關係型資料庫系統
ps: 不同資料庫系統之間的SQL不能完全相互通用;
分類
針對操作的物件不同,可以分成不同語言
1: 資料運算(資料管理)語言 DML(Data Management Language)
1): 查詢資料 DQL
2): 增加、 DDL(Data Definition Language) --如表的定義
3: 資料控制語言 DCL(Data Control Language)
***************************** ************************************************** *********************************
資料庫, 表, 資料三者之間的關係
表是資料的載體, 資料庫又是表格的容器
******************************** ************************************************** ******************************
資料庫操作
mysql> show databases; --查看所有的数据库 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+建立資料庫
語法: create database [if not exists] db_name [資料選項]
例:
create database student_system;範例:
create database if not exists student_system;--會先判斷student_system是否已經存在,如果存在就不會創建,可以避免異常
例:
C:\WINDOWS\system32>mysqladmin -uroot -p create bbbb--可以透過mysqladmin來進行建立
************* ************************************************** ******
資料庫的命名規則
1: 見名知意, 建議是使用底線的方式
2: 可以使用任意的字元,比如數字,符號,中文等
create database 胖胖;
3: 如果命名很特殊,例如是以純數字或關鍵字來命名時,就要使用限定符來包裹(限定符指反引號``);
create database `123456`;
4: 是否區分大小寫(這個目前的作業系統有關);
5: 資料庫的名字都可以使用反引號來建立
********* ************************************************** ************
ps: 資料庫建立時會形成目錄,目錄名稱是資料庫名稱,如果資料庫名稱是特殊字元,那麼檔案名稱會經編碼形式來表式
目錄下方會有一個db.opt檔案保存著資料庫的選擇資訊;
*************************** ********************************************
#資料庫的相關操作
1: show databases; --查看所有的数据库 2: drop [if exists] database bbbb; --删除指定的数据库 3: show create database student_system; --查看数据库(student_system)创建信息 +----------------+------------------------------------------------------------------------+ | Database | Create Database | +----------------+------------------------------------------------------------------------+ | student_system | CREATE DATABASE `student_system` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------------+------------------------------------------------------------------------+ 4: alter database db_name [指定的操作] --修改数据库信息 例: alter database student_system character set 'utf8';************************************ ************************************************** ******************************
表格的相關操作
表格的建立
建立語法: create table [if not exists] tbl_name(列結構)[選項]
表是資料的載體, 資料庫又是表的容器,所以在創建表之前,需要先定它所屬的那個資料庫,
表一定屬性某一個資料庫的
1: 可以在建立表的時候, 在表名之前指明所屬的資料庫
create table `student_system`.student( name varchar(20), sex varchar(3), age int );2: 可以先使用use db_name指明目前預設的資料庫,然後再建立表格
use student_system create table teacher( name varchar(20), sex varchar(3), age int );3: show tables; --查看所有的表,也要先指明目前預設的資料庫
##4: show create table teacher; --查看建立表(teacher) 建立資訊
show create table teacher\G
5: describe teacher; --檢視表(teacher)的結構
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | sex | varchar(3) | YES | | NULL | | | age | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ desc teacher; --可以简写describe teacher;##6: dropop table [if exists] tbl_name; --刪除表格(包裹表結構)
例: drop table student; 例: drop table if exists student;
****************** ************************************************** *************************************************
修改表格
修改表名
语法:rename table old_table_name to new_table_name 例: rename table student to student_1; 例: rename table student_2 to student_1, teacher to teacher_1; --可以同时修改多个表名 例: rename table student_1 to `test`.student_2; --可以跨数据库重命名, 可以通过这个表重命名的方式来对数据库重命名
修改列的定義
新加列(add)
alter table student_1 add id int;
刪除列(drop )
alter table student_1 drop id;
修改列定義(modify)
alter table student_1 modify name varchar(10);
重命名列(change)
alter table student_1 change age student_age int(3);
*******************************************************************************************************
表数据操作(增删改查)
插入数据(创建数据create)
语法: insert into 表名(字段列表) values(值列表)
例: insert into teacher_1(name,age) values('胖胖', 18);
例: insert into teacher_1 values('小胖','男', 16); --如果没有指定字段列表,那么要插入的值要和列中的字段顺序一样
insert into teacher_1(name,age) values('小未', 19);
insert into teacher_1 values('阿哈','女',18);
查询数据(读取数据read)
语法: select 字段列表 from 表名 where 查询条件
例: select name,age from teacher_1;
例: select * from teacher_1; --如果字段列表使用*号来代替, 那么表示查询所有的字段
例: select * from teacher_1 where name = '胖胖'; --可能使用查询条件进行数据过滤,拿到想要的数据;
例: select * from teacher_1 where 1; --where 1表示条件永远成立
select * from teacher_1 where 0;
修改数据(update)
语法: update 表名 set 字段=新值,... where 条件
例: update teacher_1 set sex='女' where name = '小胖';
update teacher_1 set sex = '保密', age = 15, name = '阿呵' where name = '阿哈';
删除数据(delete)
语法: delete from 表名 where 条件
例: delete from teacher_1 where age = '18';
例: delete from teacher_1; --如果没有条件进行删除,则会删除整个表的删除(不同于drop table teacher_1)
ps: 在删除数据时,一定要给一个具有严格逻辑判断条件,不然很容易造成数据误删除,最后造成数据的损失
curd(create update read delete)--增删改查
以上是Mysql之庫表操作的實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

MySQL在數據庫和編程中的地位非常重要,它是一個開源的關係型數據庫管理系統,廣泛應用於各種應用場景。 1)MySQL提供高效的數據存儲、組織和檢索功能,支持Web、移動和企業級系統。 2)它使用客戶端-服務器架構,支持多種存儲引擎和索引優化。 3)基本用法包括創建表和插入數據,高級用法涉及多表JOIN和復雜查詢。 4)常見問題如SQL語法錯誤和性能問題可以通過EXPLAIN命令和慢查詢日誌調試。 5)性能優化方法包括合理使用索引、優化查詢和使用緩存,最佳實踐包括使用事務和PreparedStatemen

MySQL適合小型和大型企業。 1)小型企業可使用MySQL進行基本數據管理,如存儲客戶信息。 2)大型企業可利用MySQL處理海量數據和復雜業務邏輯,優化查詢性能和事務處理。

InnoDB通過Next-KeyLocking機制有效防止幻讀。 1)Next-KeyLocking結合行鎖和間隙鎖,鎖定記錄及其間隙,防止新記錄插入。 2)在實際應用中,通過優化查詢和調整隔離級別,可以減少鎖競爭,提高並發性能。

MySQL不是一門編程語言,但其查詢語言SQL具備編程語言的特性:1.SQL支持條件判斷、循環和變量操作;2.通過存儲過程、觸發器和函數,用戶可以在數據庫中執行複雜邏輯操作。

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL是一個開源的關係型數據庫管理系統,適用於數據存儲、管理、查詢和安全。 1.它支持多種操作系統,廣泛應用於Web應用等領域。 2.通過客戶端-服務器架構和不同存儲引擎,MySQL高效處理數據。 3.基本用法包括創建數據庫和表,插入、查詢和更新數據。 4.高級用法涉及復雜查詢和存儲過程。 5.常見錯誤可通過EXPLAIN語句調試。 6.性能優化包括合理使用索引和優化查詢語句。

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

InnoDB的鎖機制包括共享鎖、排他鎖、意向鎖、記錄鎖、間隙鎖和下一個鍵鎖。 1.共享鎖允許事務讀取數據而不阻止其他事務讀取。 2.排他鎖阻止其他事務讀取和修改數據。 3.意向鎖優化鎖效率。 4.記錄鎖鎖定索引記錄。 5.間隙鎖鎖定索引記錄間隙。 6.下一個鍵鎖是記錄鎖和間隙鎖的組合,確保數據一致性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具