一、基礎(chǔ)知識(shí)
MySQL數(shù)據(jù)庫基本操作知識(shí)儲(chǔ)備
數(shù)據(jù)庫服務(wù)器:一臺(tái)計(jì)算機(jī)(對(duì)內(nèi)存要求比較高)
數(shù)據(jù)庫管理系統(tǒng):如mysql焙贷,是一個(gè)軟件
數(shù)據(jù)庫:db1,相當(dāng)于文件夾
表:student,scholl,class_list,相當(dāng)于一個(gè)具體的文件
記錄:1 從零開始 23 22,相當(dāng)于文件中的一行內(nèi)容
二赞咙、WHTA SQL?
SQL(Structured Query Language 即結(jié)構(gòu)化查詢語言)
SQL語言主要用于存取數(shù)據(jù)、查詢數(shù)據(jù)糟港、更新數(shù)據(jù)和管理關(guān)系數(shù)據(jù)庫系統(tǒng)攀操,SQL語言由IBM開發(fā)。SQL語言分為3種類型:
DDL語句 數(shù)據(jù)庫定義語言: 數(shù)據(jù)庫秸抚、表速和、視圖、索引剥汤、存儲(chǔ)過程颠放,例如CREATE DROP ALTER
DML語句 數(shù)據(jù)庫操縱語言: 插入數(shù)據(jù)INSERT、刪除數(shù)據(jù)DELETE秀姐、更新數(shù)據(jù)UPDATE慈迈、查詢數(shù)據(jù)SELECT
DCL語句 數(shù)據(jù)庫控制語言: 例如控制用戶的訪問權(quán)限GRANT、REVOKE
三省有、數(shù)據(jù)庫文件解釋
information_schema: 虛擬庫痒留,不占用磁盤空間,存儲(chǔ)的是數(shù)據(jù)庫啟動(dòng)后的一些參數(shù)蠢沿,如用戶表信息伸头、列信息、權(quán)限信息舷蟀、字符信息等
performance_schema: MySQL 5.5開始新增一個(gè)數(shù)據(jù)庫:主要用于收集數(shù)據(jù)庫服務(wù)器性能參數(shù)恤磷,記錄處理查詢請(qǐng)求時(shí)發(fā)生的各種事件、鎖等現(xiàn)象
mysql: 授權(quán)庫野宜,主要存儲(chǔ)系統(tǒng)用戶的權(quán)限信息
四扫步、數(shù)據(jù)庫操作-database
關(guān)鍵字
create、show匈子、 use河胎、drop、alter
命名規(guī)則
可以由字母虎敦、數(shù)字游岳、下劃線、@其徙、#胚迫、$
區(qū)分大小寫
唯一性
不能使用關(guān)鍵字如 create select
不能單獨(dú)使用數(shù)字
最長128位
基本語法
1、創(chuàng)建數(shù)據(jù)庫
create database db1 charset utf8;
create database db1;
2唾那、 查看數(shù)據(jù)庫
show databases;
show create database db1;
select database();
3访锻、 選擇數(shù)據(jù)庫
USE 數(shù)據(jù)庫名
4、 刪除數(shù)據(jù)庫
DORP DATABASE 數(shù)據(jù)庫名;
5、 修改數(shù)據(jù)庫
alter database db1 charset utf8;
五朗若、表操作-table
關(guān)鍵字
一級(jí)
create恼五、alter昌罩、drop哭懈、delete、show茎用、truncate
二級(jí)
add遣总、rename、modify轨功、change旭斥、drop、
基本語法
1. 創(chuàng)建表
create table 表名(
字段名1 類型[(寬度) 約束條件],
字段名2 類型[(寬度) 約束條件],
字段名3 類型[(寬度) 約束條件]
);
2. 修改表名
ALTER TABLE 表名 RENAME 新表名;
3. 增加字段
ALTER TABLE 表名
ADD 字段名 數(shù)據(jù)類型 [完整性約束條件…],
ADD 字段名 數(shù)據(jù)類型 [完整性約束條件…];
ALTER TABLE 表名 ADD 字段名 數(shù)據(jù)類型 [完整性約束條件…] FIRST;
ALTER TABLE 表名 ADD 字段名 數(shù)據(jù)類型 [完整性約束條件…] AFTER 字段名;
4. 刪除字段
ALTER TABLE 表名 DROP 字段名;
5. 修改字段
ALTER TABLE 表名 MODIFY 字段名 數(shù)據(jù)類型 [完整性約束條件…];
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 舊數(shù)據(jù)類型 [完整性約束條件…];
ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數(shù)據(jù)類型 [完整性約束條件…];
6.示例
修改存儲(chǔ)引擎
mysql> alter table service
-> engine=innodb;
添加字段
mysql> alter table student10
-> add name varchar(20) not null,
-> add age int(3) not null default 22;
mysql> alter table student10
-> add stu_num varchar(10) not null after name; //添加name字段之后
mysql> alter table student10
-> add sex enum('male','female') default 'male' first; //添加到最前面
刪除字段
mysql> alter table student10
-> drop sex;
mysql> alter table service
-> drop mac;
修改字段類型modify
mysql> alter table student10
-> modify age int(3);
mysql> alter table student10
-> modify id int(11) not null primary key auto_increment; //修改為主鍵
增加約束(針對(duì)已有的主鍵增加auto_increment)
mysql> alter table student10 modify id int(11) not null auto_increment;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
對(duì)已經(jīng)存在的表增加復(fù)合主鍵
mysql> alter table service2
-> add primary key(host_ip,port);
增加主鍵
mysql> alter table student1
-> modify name varchar(10) not null primary key;
增加主鍵和自動(dòng)增長
mysql> alter table student1
-> modify id int not null primary key auto_increment;
刪除主鍵
a. 刪除自增約束
mysql> alter table student10 modify id int(11) not null;
b. 刪除主鍵
mysql> alter table student10
-> drop primary key;
7古涧、復(fù)制表
復(fù)制表結(jié)構(gòu)+記錄 (key不會(huì)復(fù)制: 主鍵垂券、外鍵和索引)
mysql> create table new_service select * from service;
只復(fù)制表結(jié)構(gòu)
mysql> select * from service where 1=2; //條件為假,查不到任何記錄
Empty set (0.00 sec)
mysql> create table new1_service select * from service where 1=2;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> create table t4 like employees;
8羡滑、刪除表
DROP TABLE 表名;
9菇爪、清空表數(shù)據(jù)
truncate tabale t1;
delete from t1;
六、數(shù)據(jù)操作
關(guān)鍵字
insert into...
update...set...
delete...from...
select...from...
語法
1. 插入完整數(shù)據(jù)(順序插入)
語法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
語法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n);
2. 指定字段插入數(shù)據(jù)
語法:
INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
3. 插入多條記錄
語法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
4. 插入查詢結(jié)果
語法:
INSERT INTO 表名(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
5柒昏、更新數(shù)據(jù)
語法:
UPDATE 表名 SET
字段1=值1,
字段2=值2,
WHERE CONDITION;
示例:
UPDATE mysql.user SET password=password(‘123’)
where user=’root’ and host=’localhost’;
6凳宙、刪除數(shù)據(jù)
語法:
DELETE FROM 表名
WHERE CONITION;
示例:
DELETE FROM mysql.user
WHERE password=’’;
關(guān)于查的問題,我后續(xù)再繼續(xù)更新吧职祷,謝謝您的觀看