#======================================
#平臺:windows7
#MYsql版本:mysql-5.5.62-winx64(安裝版)
#MYsql工具:SQLyog - 64 bit、Navicat Premium 12
工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw
#======================================
1、連接MYSQL:mysql -u root -p; //命令行界面運行
2、創建數據庫TT :CREATE DATABASE TT
3、刪除數據庫TT:DROP DATABASE TT
4、查看默認存儲引擎:SHOW VARIABLES LIKE "storage_engine%"; //默認是InnoDB
5、修改默認存儲引擎: 進入配置文件my.ini,修改default-storage-engine=INNODB爲default-storage-engine=MyISAM(需要重啓服務)
6、MYSQL幾個常用數據引擎的區別,如何選擇?
區別:
MyISAM | 訪問速度快,但不支持事務,也不支持外鍵 |
INNODB | 支持事務,支持事務的提交、回滾、崩潰修復,安全性高,但速度慢,佔用大 |
MEMORY | 存儲速度快,但無安全保障,適合數據較小,快速訪問需求的支持 |
如何選擇:
a. 是否要支持事務,如果要請選擇innodb,如果不需要可以考慮MyISAM;
b. 如果表中絕大多數都只是讀查詢,可以考慮MyISAM,如果既有讀寫也挺頻繁,請使用InnoDB。
c. 系統崩潰後,MyISAM恢復起來更困難,能否接受;
d. MySQL5.5版本開始Innodb已經成爲Mysql的默認引擎(之前是MyISAM),說明其優勢是有目共睹的,如果你不知道用什麼,那就用InnoDB,至少不會差。
7、創建表:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40)
);
8、表操作
//修改表的關鍵詞是:ALTER
查看錶結構 | DESCRIBE table_name;或者DESC table_name(簡寫) |
查看錶詳細信息 | SHOW CREATE TABLE table_name |
刪除表 | DROP TABLE table_name;(需謹慎操作) |
重命名 | ALTER TABLE table_name RENAME new_name; |
增加字段 | ALTER TABLE table_name ADD 字段名 字段類型 |
刪除字段 | ALTER TABLE table_name DROP 字段名 |
修改字段的數據類型 | ALTER TABLE table_name MODIFY 字段名 數據類型 |
修改字段的名字和屬性 | ALTER TABLE table_name CHANGE 舊名 新名 新數據類型 |
修改字段的位置順序 | ALTER TABLE table_name MODIFY 字段1 數據類型 FIRST (將字段移到最前面)
ALTER TABLE table_name MODIFY 字段1 數據類型 AFTER 字段2 (將字段移到字段2的後面)
|
9、表的約束
關鍵字 | 含義 |
NOT NULL | 值不能爲空 |
DEFAULT | 設置字段的默認值 |
UNIQUE KEY(UK) | 字段值唯一 |
PRIMARY KEY(PK) | 設置主鍵,可以作爲表的唯一標識 |
AUTO_INCREMENT | 值可以自動增加 |
FOREIGN KEY(FK) | 設置表的外鍵 |
l NOT NULL
create table user(
id int(11) not null,
age int(11),
sex varchar(255));
//創建的時候加上NOT NULL 即可
l DEFAULT
create table user(
id int(11),
age int(11),
sex varchar(255) default '女');
l UK(保證該記錄中沒有字段的值重複)
create table user(
id int(11) unique,
age int(11),
sex varchar(255));
l PK(給主鍵約束設置一個名字)
create table user(
id int(11) ,
name varchar(11),
sex varchar(255),
constraint 約束名 primary key(字段名1)
);
l AUTO_INCREMENT
create table user(
id int(11) auto_increment,
age int(11),
sex varchar(255));
l FK(保證了多表之間的參照完整性,構建的是兩個表的兩個字段時間的參照關係)
create table t_employee(
Empno int primary key,
Ename varchar(20),
deptno int,
constraint fk_deptno foreign key(deptno)
references t_dept(deptno);
(注意:子表中創建的外鍵的數據類型必須與父表中所參考的字段的數據類型一致,否則會報錯)