002—MYSQL基礎

#======================================

#平臺:windows7        

#MYsql版本:mysql-5.5.62-winx64(安裝版)

#MYsql工具:SQLyog - 64 bitNavicat Premium 12

工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw

#======================================

 

1、連接MYSQLmysql -u root -p;    //命令行界面運行

 

2、創建數據庫TT CREATE DATABASE TT  

 

3、刪除數據庫TTDROP DATABASE TT

 

4、查看默認存儲引擎:SHOW VARIABLES LIKE "storage_engine%";     //默認是InnoDB

 

5、修改默認存儲引擎: 進入配置文件my.ini,修改default-storage-engine=INNODBdefault-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 字段數據類型 FIRST (將字段移到最前面)

 

ALTER TABLE table_name MODIFY 字段數據類型 AFTER 字段2  (將字段移到字段2的後面)

 

 

9、表的約束

關鍵字

含義

NOT NULL

值不能爲空

DEFAULT

設置字段的默認值

UNIQUE KEYUK

字段值唯一

PRIMARY KEYPK

設置主鍵,可以作爲表的唯一標識

AUTO_INCREMENT

值可以自動增加

FOREIGN KEYFK

設置表的外鍵

 

NOT NULL

 

create table user(

id int(11) not null,

age int(11),

sex varchar(255));

//創建的時候加上NOT NULL 即可

 

DEFAULT

 

create table user(

id int(11),

age int(11),

sex varchar(255) default '');

 

UK(保證該記錄中沒有字段的值重複)

create table user(

id int(11) unique,

age int(11),

sex varchar(255));

 

PK(給主鍵約束設置一個名字)

create table user(

id int(11) ,

name varchar(11),

sex varchar(255),

constraint 約束名 primary key(字段名1)

);

 

AUTO_INCREMENT

create table user(

id int(11) auto_increment,

age int(11),

sex varchar(255));

 

FK(保證了多表之間的參照完整性,構建的是兩個表的兩個字段時間的參照關係)

create table t_employee(

Empno int primary key,

Ename varchar(20),

deptno int,

constraint fk_deptno foreign key(deptno) 

references t_dept(deptno);

 

注意:子表中創建的外鍵的數據類型必須與父表中所參考的字段的數據類型一致,否則會報錯)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章