MySQL資料庫資料管理
1.外來鍵
- 方式一:在建立表的時候新增約束
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '學號',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性別',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`gradeid` INT(10) NOT NULL COMMENT '學生的年紀',
`dddress` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`),
KEY `FK_gradeid` (`gradeid`),--定義外來鍵key
CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`)--給這個外來鍵新增約束
)ENGINE=INNODB DEFAULT CHARSET=utf8
- 方法二:建立表的時候沒有外來鍵約束,然後用alter修改新增
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);
以上操作都是物理外來鍵(資料庫級別的),不建議使用。(避免資料庫過多造成困擾)
最佳實踐
- 資料庫就是單純的表,只用來存資料,只有行和列
- 我們想使用多張表的資料,想使用外來鍵(程式去實現)
刪除有外來鍵關係的表的時候,必須要先刪除引用別人的表(從表),再刪除被引用的表(主表)。
2.DML語言(全部記住)
資料庫意義:資料儲存,資料管理
DML語言:資料操作語言
- insert
- update
- delete
3.新增
-語法
sql insert into 表名([欄位1,欄位2]) values('值1'),('值2)...
INSERT INTO `grade` (`gradename`)VALUES ('大四')
- 如果不寫表的欄位,它就會一一對應
- 欄位可以省略,但一定要資料和欄位一一對應
- 插入多個欄位
- 欄位和欄位使用英文隔開
- 可以同時插入多條資料,values後面的值使用“,”隔開即可
INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')
4.修改
update 修改誰 (條件) set原來的值,新值
- 不指定條件的情況下會改動所有表
- 語法:
update 表名 set colnum_name=value where 條件[ ]
- 修改多個屬性,逗號隔開
- 操作符
運算子 | 含義 |
---|---|
= | 等於 |
– | – |
<>或!= | 不等於 |
> | |
< | |
>= | |
<= | |
BETWEEN…and… | …和…之間 |
AND | 且&& |
OR | 或|| |
5.刪除
- delete命令
語法:delete from 表名 where 條件
- truncate命令
完全清空一個資料庫表,表的結構和索引資料不會變
truncate 表名
兩者的區別:
- truncate 重新設定自增列,計數器會歸零
- truncate不會影響事務
- delete刪除後,InnoDB重啟資料庫,自增列會從1開始(存在記憶體當中,斷點即失);MYISAM繼續從上一個自增量開始(存在檔案中的,不會丟失)。
相關文章
- Mysql資料庫-資料模型MySql資料庫模型
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- 資料庫PostrageSQL-管理資料庫資料庫SQL
- MySQL資料管理MySql
- MYSQL資料庫MySql資料庫
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- 資料庫(MySQL)資料庫MySql
- mysql資料庫-資料結構MySql資料庫資料結構
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- 《大型資料庫技術》MySQL管理維護資料庫MySql
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 資料庫與資料庫管理系統概述資料庫
- Mysql建立資料庫MySql資料庫
- 【6】MySQL資料庫MySql資料庫
- MySQL 資料庫操作MySql資料庫
- MySQL資料庫(二)MySql資料庫
- phpMyAdmin管理資料庫和資料表PHP資料庫
- 資料庫的管理資料庫
- 資料庫⽇志管理資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- python資料插入連線MySQL資料庫PythonMySql資料庫
- 【MySQL 資料庫】MySQL目錄MySql資料庫
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- SQL資料庫管理工具:SQLPro for MySQL for Mac資料庫MySqlMac
- 《MySQL 入門教程》第 03 篇 管理資料庫MySql資料庫
- 關於 phpMyAdmin 管理 Homestead MySQL 資料庫的配置PHPMySql資料庫
- 如何從CLI管理阿里巴巴MySQL資料庫阿里MySql資料庫
- MySQL-授權使用者管理資料庫MySql資料庫
- MySQL預設資料庫之mysql庫MySql資料庫
- SpringBoot資料庫管理 - 用Liquibase對資料庫管理和遷移?Spring Boot資料庫UI
- 雲資料庫管理與資料遷移資料庫
- MySQL資料庫是什麼?linux資料庫運維MySql資料庫Linux運維
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 全平臺資料(資料庫)管理工具 DataCap 管理 Rainbond 上的所有資料庫資料庫AI
- MiniShopping-mysql資料庫MySql資料庫