MySQL
數據庫總結
DDL定義數據庫語句 創建/刪除數據庫 創建/刪除表 修改表(增刪改)
DML數據操作語句 sql語句 增 刪 改 查 運算符 特殊運算符
約束:主鍵 auto_increment unique not null default
事務:4個特性 提交 回滾 保存點 DDL自動提交 DML可以設置成手動提交
函數:聚合函數 分組 having where區別
表連接 交叉連接(笛卡爾積) 內連接 自然連接(去掉重複列) 左外連接 右外連接 全連接 自連接
子查詢(嵌套 相關)
表結構設計 三範式 外鍵
視圖
----------------------------------------------------
索引 觸發器(觸發事件insert/update/delete 觸發時間after before)
存過過程 自定義函數
常見的數據庫:
oracle:大型數據庫 mysql:中型 sqlsever:中型
數據庫的大小指的是數據不斷增長的過程中 數據庫本身能夠依然保持對數據管理的較高效率
mysql指令:
進入指令:cmd進入mysql的根目錄的bin目錄位置 直接輸入mysql進入
最高管理進入:mysql -uroot -p 輸入密碼:123456
啓動mysql:cmd mysql bin目錄執行 net start mysql
停止mysql:cmd輸入 net stop mysql
如何卸載mysql服務:
先停止服務 tasklist| findstr "mysql”,用於查找mysql的殘留進程
taskkill/f /t /im mysqld.exe,就可以將mysql殘留進程全部殺死了
切換到 mysql的bin目錄 執行 mysqld remove mysql 來刪除當前的mysql Service successfully removed.表示成功
基本操作指令:
- 查看所有數據庫:show databases
- 創建數據庫:create database
- 使用數據庫:use szt1(szt1是數據庫名字 )
- 創建一張表:create table stz1(列名 列類型(列大小),列名 列類型(列大小)); create table student(name varchar(12),age int(3));
- 查看錶:show tables
- 向表中所有列插入數據:insert into szt1 values('xiaoming',15);
- 查看錶中所有數據;select * from szt1;
- 向表中指定列插入數據:insert into szt1(name) values('xiomming');
- 刪除指定數據:delete from szt1 where age=65; 刪除年齡爲65的數據
- 修改指定數據:update szt1 set age=108 where name 'xiaoming'; 把名叫小明的年齡修改成108
- 刪除一張表:drop table szt1;
SQL數據類型
整數:
create table nums(data1 tinyint(3),data2 smallint(3),data3 int(3),data4 bigint(3))
insert into nums values(11,12,13,14);
測試數據丟失問題
insert into nums values(130,130,130,130);
小數:
create table nums2(data1 float(5,3),data2 double(5,3));
insert into nums2 values(12.345,22.456);
淘氣一下多放幾位試試
create table nums6(data1 double ,data2 decimal(30,28)); 30位數字,其中28位小數
字符串
varchar
text
char(10) :上限255,寫10就佔用10
varchar(10)上限65535 寫10就佔用0
text:上限65535,不可以寫10
字符串用 '' 表示 例如:'hehe' '大黃'
時間和日期類型
create table date1(data1 date,data2 time);
insert into date1 values('1999-10-10','10:12:20');
create table date2(data1 datetime,data2 timestamp);
insert into date2 values('1999-10-10 10:12:20','1999-10-10 10:12:20');
timetamp隨着時區的變化而變化
set time_zone='+8:00'; 修改時區
修改時區在查詢看一下吧
如果一定要boolean,用tinyint的 0--false 和 1--true
alter table student modify studentscore tinyint(3); 修改列類型
alter table student add studentsex varchar(1); 新增一列
alter table student drop studentsex; 刪除一列
alter table student change studentscore student分數 tinyint(3); 修改列名稱
alter table student rename 學生表; 改表名