MySQL數(shù)據(jù)庫操作
站在用戶的角度思考問題,與客戶深入溝通,找到織金網(wǎng)站設(shè)計與織金網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋織金地區(qū)。
–登錄MySql:——–
Windows環(huán)境進(jìn)入cmd后輸入mysql –h localhost –u root –p,再輸入密碼就可以啟動mysql;其中l(wèi)ocalhost是mysql服務(wù)器所在的ip如果是本機可以用localhost。
–數(shù)據(jù)庫相關(guān)操作——–
create database db_name(數(shù)據(jù)庫名稱)建名為db_name的數(shù)據(jù)庫
show databases查看已經(jīng)存在的數(shù)據(jù)庫
drop database db_name刪除名為db_name的數(shù)據(jù)庫
use db_name操作名為db_name的數(shù)據(jù)庫
show tables顯示數(shù)據(jù)庫中的表
desc table_name查看表名為table_name的表的結(jié)構(gòu)
– 數(shù)據(jù)庫中表(TABLE)的操作——–
Create table table_name(ID int primary key,NAME varchar(50),AGE int ,SEX varchar(10)):創(chuàng)建表且設(shè)置了ID為主鍵
create table table_name(stu_id int, course_id int,name varchar(20),grade float,primary key(stu_id,course_id)):設(shè)置了表中stu_id和course_id兩個都為主鍵
外鍵如果表A的某一個屬性值依賴于表B的主鍵則稱B為父表A為子表A中的這個字段為A的外鍵如果父表中的信息改變則對應(yīng)子表的數(shù)據(jù)也會改變
語法create table table_name01(id int primary key,stu_id int,course_id int ,score float,grade int,constraint c_fk(外鍵別名) foreign key(stu_id,course_id) references table_name02(stu_id,course_id));table_name02是父表table_name01是子表給子表設(shè)置了兩個外鍵
表字段的非空約束create table table_name(id int primary key not null,name varchar(50) not null,stu_id int);設(shè)置not null表示字段不能為空也就是非空
唯一約束指字段中值不能重復(fù)create table table_name(id int primary key auto_increment,stu_id int unique,name varchar(20) not null);其中設(shè)置了id自動增加且unique設(shè)置了stu_id的值必須唯一性不能有相同的值存在
E,為表設(shè)置默認(rèn)值即在沒有插入數(shù)據(jù)的時候會用默認(rèn)值代替;
Create table table_name(id int primary key auto_increment,stu_id int unique,name varchar(50) not null English varchar(20) default ‘zero’);即為Englist字段設(shè)置了默認(rèn)值為zero;
show create table table_name;查看表的詳細(xì)結(jié)構(gòu)語句
–表的修改操作——–
修改表名alter table 舊表名rename [to] 新表名;把表名更改
修改字段屬性Alter table table_name modify 屬性名 數(shù)據(jù)類型(修改后的類型)
修改字段alter table table_name change 舊字段名 新字段名 新數(shù)據(jù)類型
增加字段alter table table_name add 字段1 數(shù)據(jù)類型after 字段2;在字段2后面增加字段1;如果把字段2改成FIRST即加在最前面
刪除字段alter table table_name drop 字段名
修改字段的位置alter table table_name modify 字段名First(第一個位置after 字段指定字段的后面)
更改表的引擎名alter table table_name engine=Mylsam;
刪除表的外鍵約束alter table table_name drop foreign key 外鍵別名
刪除表:
9.1:普通的沒有關(guān)聯(lián)的表drop table table_name;
9.2:刪除有關(guān)聯(lián)的表先用show create table table_name;查看表的詳情看到外鍵的另名,先刪除外鍵再刪除表格就可以了。
–數(shù)據(jù)庫的增刪改查操作——–
數(shù)據(jù)庫的增(insert into)刪(delete)改(update)查(select)操作
1.添加數(shù)據(jù)insert into
A增加數(shù)據(jù)分兩種1不指定具體字段名如insert into table_name values(值1值2…)
指定字段名insert into table_name(字段1字段2….)values(值1,值2….);如果是為指定的字段加數(shù)據(jù)只需要寫出需要加數(shù)據(jù)的字段即可
同事插入多條數(shù)據(jù)insert into table_name [字段列表]values(取舍列表1)(取值列表2)…
將一個表的數(shù)據(jù)插入到別個一張表中
Insert into table_name1(字段列表)select (表2字段)from table_name2 where 條件表達(dá)式;
2.更新數(shù)據(jù)(改)操作update
總體操作是update table_name set 字段1=值1字段2=值2…where條件表達(dá)式
可以對一定范圍中的數(shù)據(jù)更改主要是從where后面的條件來判斷
3.刪除數(shù)據(jù)操作delete
delete from table_name where 條件表達(dá)式
Delete from table_name;將會刪除所有數(shù)據(jù);
4.查詢數(shù)據(jù)query
Select 字段名列表from table_name [where 條件表達(dá)式1] [group by 字段名[having條件表達(dá)式2]][order by 字段名[ASC(升序)/DESC(降序)]]
單表查詢select 字段名from table_name where 條件
帶in關(guān)鍵字查詢:
判斷某個字段的值是否在指定的集合中是的話就查出來select 字段名或* table_name where 字段名in(值1值2…..)
帶between and 關(guān)鍵字的查詢select *或字段名from table_name where 字段名between 值1 and 值2;查找的是范圍在值1與值2之間對應(yīng)的數(shù)據(jù);結(jié)果是包含兩端的值的
帶like的匹配查詢一個完整字符串可以加%或;%表示任意長度的字符串如b%k表示以b開頭以k對事的任意字符串而只表示單個字符如b_k表示以b開始k結(jié)束的3個字符的字符串
方法select *或字段名from table_name where 字段名[not]like 條件;not表示不匹配時
-空值查詢select *或字段名from table_name where 字段名is [not]null;即查詢[不]為空的數(shù)據(jù)
and與or的多條件查詢select *或字段名from table_name where 條件1 and 條件2;與from table_name where 條件1 and 條件2;and表示所以條件都必須成立而or表示只需要其中任何一個條件成立就可以
F,查詢結(jié)果不重復(fù)select distinct 字段名from table_name;
5.分組查詢
單獨用group by 分組結(jié)果只會顯示一個分組的一條記錄:
Select *或字段名from table_name group by 字段名
group by 和group_concat()函數(shù)使用每個分組的所有字段都可以顯示
Select 字段名roup_coucat(字段名)from table_name group by字段名
-group by與集合函數(shù)使用select 字段名count(字段名)from table_name group by 字段名having count(字段名) 條件
多字段分組select * from table_name group by 字段1字段2…
E,group by與with rollup一起用
Select 字段名count(字段名)from table_name group by 字段名with rollup
6.用limit限制查詢數(shù)據(jù)
Select * from table_name limit a或(limit a,b)前者是顯示從第一條到a條數(shù)據(jù)后者是顯示從a條到b條間的數(shù)據(jù)
7.使用集合函數(shù)查詢數(shù)據(jù)
count()統(tǒng)計數(shù)據(jù)條數(shù):Select count(*) from table_name
sum()求和:Select 字段名sum(字段名) from table_name where 條件
avg()求平均數(shù):Select avg(字段名) from table_name group by 字段名
max與min最大與最小值:Select max(字段名)/min(字段名) from table_name;
8.多表連接查詢
- 內(nèi)連接查詢兩個以上表中存在意義相同的字段時可以用該字段來連接表進(jìn)行查詢.如:select 字段1字段2字段3…from table_name1,table_name2 where table_name1.字段a=table_name2.字段b
- 外連接查詢select 字段列表from table_name01 left/right join table_name02 on table_name01.字段名=talbe_name02.字段名。Letf表示左鏈接right表示右鏈接
- 復(fù)合條件查詢運用多條件精確查詢
9.用正則表達(dá)式查詢
查詢以特定字符開頭的記錄select * from table_name where 字段名regexp ‘^a’以a頭
查詢以特定字符結(jié)束的記錄Select * from table_name where regexp ‘xx$;
用符號“.”來代替字符串中任意一個字符:Select * from table_name where name regexp ‘^l..y$’;
–表或字段取別名——–
表的別名select * from table_name t where t.字段=值;t就是表的別名
字段的別名用as關(guān)鍵字如select t_id as 字段id from table_name where t_id=值;t_id就是對應(yīng)字段的別名別名可以同真實名一樣使用
–數(shù)據(jù)庫備份——–
mysqldump命令備份mysqldump –u username –p db_name table1,table2….>BackupName.sql;//其中db_name是數(shù)據(jù)庫的名稱table1..是表名如果沒有表名將備份 整個數(shù)據(jù)庫backupname.sql表示備份文件的名稱前面可以加個絕對路徑
備份多個數(shù)據(jù)庫Mysqldump -u username –p –databases db_name1 db_name2… > backupname.sql
備份所有數(shù)據(jù)庫Mysqldump –u root –p –all-databases > C:\all.sql
用Mysqlhotcopy工具快速備份
數(shù)據(jù)庫還原Mysql –u root –p < backup.sql//其中backup.sql是保存的數(shù)據(jù)庫文件
以上分享來自兄弟連MySQL數(shù)據(jù)庫培訓(xùn)轉(zhuǎn)載請注明出處。
當(dāng)前文章:MySql數(shù)據(jù)庫操作
文章來源:http://www.rwnh.cn/article34/gpojse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、服務(wù)器托管、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)