一、資料庫的操作 1.創建資料庫 若在可視化軟體上創建資料庫,參考如下圖 如果要創建的資料庫不存在,則創建成功 create database if not exists westos; 2.刪除資料庫 drop database if exists westos; 3.使用資料庫 use tmal ...
一、資料庫的操作
1.創建資料庫
若在可視化軟體上創建資料庫,參考如下圖如果要創建的資料庫不存在,則創建成功
create database if not exists westos;
2.刪除資料庫
drop database if exists westos;
3.使用資料庫
use tmalldemodb;
//tab鍵的上面,如果你的表名或者欄位名是一個特殊字元,就需要帶``
4.查看資料庫
show databases;
5.清空當前命令行界面命令
clear;
6.創建表
-
auto_increment:自增
-
字元串使用單引號括起來
-
所有語句後面加逗號,英文的,最後一個不用加
-
primary key主鍵,一般一個表只有一個唯一的主鍵,且必須要有
-
engine=innodb:資料庫表的引擎
mysql> 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 '出生日期',
-> address varchar(100) default null comment '家庭地址',
-> email varchar(50) default null comment '郵箱',
-> primary key(id)
-> )engine=innodb default charset=utf8;
創鍵成功之後的圖
7.常用命令
(1)查看創建資料庫的語句
show create database 資料庫名;
運行結果圖
(2)查看表的創建語句
show create table 表名;
(3)顯示表的結構
desc 表名;
7.數據表的類型
(1)資料庫的引擎
innodb //預設使用
myisam//早些年使用的
-
事務:假設有兩個SQL都執行,要麼都成功,要麼都失敗,如果有一個成功一個失敗,它就提交不上去
-
數據行鎖定:假設有兩條SQL去查同一個表,他會把這個表先鎖住,剩下的數據再查的時候就要排隊等待
-
外鍵約束:一張表連接到另一張表
-
全文索引:比如在百度上根據你輸入的關鍵詞(在資料庫叫欄位)區搜索你想要的結果
myisam | innodb | |
---|---|---|
事務支持 | 不支持 | 支持 |
數據行鎖定 | 不支持 (支持表鎖) | 支持 |
外鍵約束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空間的大小 | 較小 | 較大,約為myisam的2倍 |
常規使用操作:
-
myisam 節約空間,速度較快
-
innodb安全性高,事務的處理,多表多用戶操作
(2)在物理空間存在的位置
所有的資料庫文件都存在data目錄下 本質還是文件的存儲!8.修改和刪除表的欄位
(1)修改表名
alter table 舊表名 rename as 新表名;alter table teacher rename as teacher1;
(2)增加表的欄位
alter table 表名 add 欄位名 列屬性;alter table teacher1 add age int(11);
(3)修改表的欄位(重命名,修改約束)
①修改約束modify(不能重命名): alter table 表名 modify 欄位名 新的列屬性;alter table teacher1 modify age varchar(11);
②欄位重命名(既可以給欄位重命名,又可以修改約束)
alter table 表名 change 舊欄位名 新欄位名 列屬性;
alter table teacher1 change age age1 int(11);
(4)刪除表的欄位
alter table 表名 drop 欄位名;alter table teacher1 drop age1;
(5)刪除表
如果要刪除的表存在,則刪除 drop table if exists 表名;drop table if exists teacher1;
所有的創建和刪除操作都儘量加上判斷,以免報錯
二、列的數據類型詳解
1.數值
-
tinyint 十分小的數據 1個位元組
-
smallint 較小的數據 2個位元組
-
int 標準的整數 4個位元組 常用
-
bigint 較大的數據 8個位元組
-
float 浮點數 4個位元組
-
double 浮點數 8個位元組
-
decimal 字元串形式的浮點數
2.字元串
-
char 字元串固定的大小 0-255
-
varchar 可變字元串 0-65535 常用
-
tinytext 微型文本 2^8-1
-
text 保存大文本 2^16-1
3.時間和日期
-
date 日期格式:YYYY-MM-DD
-
time 時間格式:HH:mm:ss
-
datetime 日期格式:YYYY-MM-DD HH:mm:ss 常用
-
timestamp 時間戳,從1970.1.1至現在的毫秒數 常用
-
year 年份表示
4.null
-
沒有值,未知
-
註意,不要使用NULL進行運算,結果為NULL
三、資料庫的欄位屬性(重點)
1.unsigned
-
無符號的整數
-
不能聲明為負數
2.zerofill
-
0填充的
-
假設你現在要寫一個長度為10的int類型,但是你只寫了個1,則他會用自動給你在1前面填充9個零
3.自增
-
通常理解為自增,自動在上一條記錄的基礎上+1(預設)
-
通常用來設計唯一的主鍵~index,必須是整數類型
-
可以自定義設置主鍵自增的起始值和步長
4.非空
-
假設設置為not null ,如果不給它賦值,就會報錯!
-
Null,如果不填寫值,預設就是null!
5.預設
-
設置預設的值
-
sex,預設值為男,如果不指定該列的值,則會有預設的值!
-
設置預設的值
四、MySQL數據管理
1.外鍵(瞭解即可)
刪除有外鍵關係的表的時候,必須要先刪除字表,才能刪除父表
明天7月17號繼續