1.數(shù)據(jù)庫系統(tǒng)的組成:
數(shù)據(jù)庫服務(wù)器:裝有數(shù)據(jù)庫軟件的一個(gè)電腦。
數(shù)據(jù)庫:軟件 MySQL Oracle。
數(shù)據(jù)表:一個(gè)表格庫,里面放著 一條一條的數(shù)據(jù),類似于Excel。
字段:表示該數(shù)據(jù)是什么數(shù)據(jù),例如:姓名,年齡,性別。
數(shù)據(jù)行:一條完整的數(shù)據(jù)。
2.數(shù)據(jù)庫分類
關(guān)系數(shù)據(jù)庫 MySQl Oracle
非關(guān)系數(shù)據(jù)庫
3.SQL語句
結(jié)構(gòu)化查詢語句 Structured Query Language
4.SQL的分類
DDL:數(shù)據(jù)定義
DML:數(shù)據(jù)操作
DQL:數(shù)據(jù)查詢
DCL:數(shù)據(jù)控制
DTL:事物處理
CRUD->create->read->update->delete
5.環(huán)境變量
1,找到MySQL安裝路徑的bin目錄
D:\Program Files\MySQL\MySQL Server 5.7\bin
2,我的電腦->右鍵->屬性->高級系統(tǒng)設(shè)置->環(huán)境變量->系統(tǒng)變量
修改path在語句最后,添加MySQL安裝路徑的bin目錄路徑,確定之前有一個(gè)分號
3,完成
6.從命令行連接數(shù)據(jù)庫
連接數(shù)據(jù)庫的三大條件:
數(shù)據(jù)庫服務(wù)器地址 數(shù)據(jù)庫訪問用戶名 當(dāng)前訪問用戶名 當(dāng)前訪問用戶名的密碼
登錄的完整命令:
mysql -hlocalhost -uroot -p010101
注意事項(xiàng):
1,如果是本機(jī)數(shù)據(jù)庫服務(wù)器,-hlocalhost可以不用寫
2,建議連接數(shù)據(jù)庫,密碼和連接命令分開寫
mysql -hlocalhost -uroot -p
Enter password:******
退出命令:
quit 和exit都是退出的意思
幫助命令:
help 或\h
清除本次錯(cuò)誤輸入:
\c
7,基本命令
show databases;查詢所有的數(shù)據(jù)庫
create database myhome; 創(chuàng)建數(shù)據(jù)庫myhome
drop database myhome; 刪除數(shù)據(jù)庫myhome
use myhome; 使用數(shù)據(jù)庫myhome
create table stuInfo(
#字段名 字段數(shù)據(jù)類型
#學(xué)生ID
stuId int,
#姓名 varchar(30) char(30)
#varchar是一個(gè)可變長數(shù)據(jù)
stuName varchar(30),
#性別 tinyint 1個(gè)字節(jié)
stuGender tinyint,
#年齡 tinyint 1個(gè)字節(jié),保存年齡足夠
stuAge tinyint
);
create table 表名(字段名 數(shù)據(jù)類型,字段名 數(shù)據(jù)類型);創(chuàng)建數(shù)據(jù)表的方式
drop table stuInfo; 刪除數(shù)據(jù)表stuInfo
desc 表名;可以查看表的詳細(xì)信息Field Type Null Key Default Extra
show create database myhome;創(chuàng)建數(shù)據(jù)庫的一個(gè)簡要描述,可以看出 數(shù)據(jù)庫的默認(rèn)字符集
show create table stuInfo;創(chuàng)建數(shù)據(jù)表的一個(gè)簡要描述,可以看到engine和charset
我們最好把存儲引擎默認(rèn)為Engine InnoDB 和 字符集 utf8
如果想修改,那么修改默認(rèn)引擎和字符集的方式為:
方式1:
engine=MyISAM default charset=GBK;
例如:
create table test(
name varchar(15),
age int
)engine=MyISAM default charset=GBK;
方式2:
修改數(shù)據(jù)的配置文件,一處修改,處處可用
my.ini
文件位置:
D:\ProgramData\MySQL\MySQL Server 5.7\my.ini
# The default character set that will be used when a new schema or table is
# created and no character set is defined
# 設(shè)置默認(rèn)字符集
character-set-server=utf8
# The default storage engine that will be used when create new tables when
# 設(shè)置默認(rèn)的存儲引擎
default-storage-engine=INNODB
show character set;查看當(dāng)前MySQL支持的所有字符集
show engines;查看當(dāng)前MySQL支持的所有存儲引擎
8.修改表 alter
#添加新的字段
alter table stuInfo add stuDesc text;
alter table stuInfo add stuSocre int after stuAge;
#修改老字段的數(shù)據(jù)類型
alter table stuInfo modify stuName char(30);
#刪除已有字段
alter table stuInfo drop stuDesc;
#修改已有字段的字段名和數(shù)據(jù)類型
alter table stuInfo change stuGender stuSex char(1);
9.插入數(shù)據(jù)
DML操作
insert
#按照數(shù)據(jù)庫字段順序插入一條完整色數(shù)據(jù)
insert into stuInfo(stuId,stuName stuSex,StuAge,stuScore)
values(1,"小明",'男',16,99);
#下面的語句是不可以的,數(shù)據(jù)類型和操作的字段不同
insert into stuInfo(stuId,stuName,stuSex,stuAge,stuScore)
values(1,"小明",16,'男',99);
#選中一些字段添加數(shù)據(jù) 剩余數(shù)據(jù)會按默認(rèn)值處理
insert into stuInfo (stuId,stuName)values(2,"小李");
#不需要指定字段名,但是要求插入的數(shù)據(jù)是和字段順序一致
insert into stuInfo values(3,"小馬過河",'男',50,99);
insert into stuInfo values(4,"小強(qiáng)加油",'男',45,90);
insert into stuInfo values(5,"小花妹妹",'女',18,99);
insert into sutInfo values(6,"丁哥大大",'男',50,95);
select * from stuInfo;查詢數(shù)據(jù)
Use your smile to change the world,Don't let the world change your smile.
用你的笑容去改變這個(gè)世界,別讓這個(gè)世界改變你的笑容。