MySQL的基本操作
成都創(chuàng)新互聯(lián)專注于拉薩企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開發(fā)。拉薩網(wǎng)站建設(shè)公司,為拉薩等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
#進(jìn)入數(shù)據(jù)庫(kù)
mysql -h localhost -uroot -p
#展示所有的數(shù)據(jù)庫(kù)
show databases
#進(jìn)入某一個(gè)數(shù)據(jù)庫(kù)
use database_name
#展示某個(gè)數(shù)據(jù)庫(kù)中的所有表
show tables
#退出數(shù)據(jù)庫(kù)
exit&&quit
#允許用戶遠(yuǎn)程登錄
grant all on *.* to 用戶名@'%'identified by '密碼' #運(yùn)行這句話,也就表示在MySQL的user表中創(chuàng)建了一個(gè)用戶。
其中需要注意的是:bit(1) 一位,表示一個(gè)比特位。(常用與表示性別)
float:聲明格式:float(m,n) m:總長(zhǎng)度,n:小數(shù)點(diǎn)位數(shù);默認(rèn)為(10,2)
double:聲明格式:double(m,n) m:總長(zhǎng)度,n:小數(shù)點(diǎn)位數(shù);默認(rèn)為(16,4)
decimal:decimal(m,n),m:總長(zhǎng)度,n:小數(shù)點(diǎn)位數(shù),無(wú)默認(rèn)值,主要精確的表示存款。
char:聲明:char(n) 表示定長(zhǎng)字符串。不足時(shí)用空格填充,超過(guò)時(shí)報(bào)錯(cuò)
varchar:聲明:varchar(n),表示可變長(zhǎng)度字符串,不足時(shí)以字符串長(zhǎng)度,超過(guò)時(shí),改變長(zhǎng)度。(65535)
text:用戶存放大文本
date:表示日期 (年-月-日 YYYY-MM-DD)
time:表示時(shí)間 (時(shí)-分-秒 HH:MM:SS)
datetime:日期時(shí)間 (日期時(shí)間: YYYY-MM-DD HH:MM:SS),范圍:1000 01- 00:00:00 - 9999-12-31 23:59:59
timestamp:時(shí)間戳 (時(shí)間戳: YYYYMMDDSSHHMMSS),范圍:1970 01- 00:00:00 - 2037-12-31 23:59:59
blob:存放二進(jìn)制
clob:存放二進(jìn)制
enum:枚舉類型
json:json數(shù)據(jù)
sql是結(jié)構(gòu)化的查詢語(yǔ)句(SQL),是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存儲(chǔ)數(shù)據(jù)以及查詢、更新、和管理關(guān)系型數(shù)據(jù)庫(kù)。用于數(shù)據(jù)庫(kù)數(shù)據(jù)的增刪改查、數(shù)據(jù)庫(kù)對(duì)象的創(chuàng)建,修改,和刪除、用戶權(quán)限、以及事務(wù)。
sql語(yǔ)句的分類:
- DQL:數(shù)據(jù)查詢語(yǔ)句:select
- DML:數(shù)據(jù)庫(kù)操作語(yǔ)句:insert 、update 、delete
- DDL :數(shù)據(jù)庫(kù)定義語(yǔ)句:create、alter、drop
- DCL:數(shù)據(jù)庫(kù)控制語(yǔ)句:grant (授權(quán))、revoke(取消授權(quán))
- TCL:事務(wù)控制語(yǔ)句:COMMIT、ROLLBACK
作用:用于刪除、創(chuàng)建、查看、切換數(shù)據(jù)庫(kù)、表
操作數(shù)據(jù)庫(kù)
#創(chuàng)建數(shù)據(jù)庫(kù)
create databse database_name charset=utf-8
#刪除數(shù)據(jù)庫(kù)
drop database database_name
#使用/切換數(shù)據(jù)庫(kù)
use databse_name
#查看當(dāng)前選擇的數(shù)據(jù)庫(kù)
select database()
操作表:
#展示數(shù)據(jù)庫(kù)中的所有表
show tables
#創(chuàng)建表
create table t_table(field1 type,field type ...)
#修改字段:add|change|drop|modify
#添加字段
alter table t_name add field type
#添加字段位置到首位
alter table t_name add field type first
#修改已有字段位置
alter table t_name modify field1 type after/before field2
#修改字段名稱
alter table t_name change old_name new_name type
#修改字段類型
alter table t_name modify field type
#刪除字段
alter table t_name drop field
#刪除表
drop table t_name;
補(bǔ)充:
change和modify的區(qū)別?
alter table 表名 modify 字段 屬性 約束;
alter table 表名 change 舊字段 新字段 屬性 約束;
#顯示表的結(jié)構(gòu)
desc t_name
#表的重命名
rename table old_name to new_name
#查看表的建表語(yǔ)句
show create table t_name;
用于操作數(shù)據(jù)的語(yǔ)句(不包括修改表的結(jié)構(gòu)和屬性)
插入數(shù)據(jù)
#插入一條完整的記錄
insert into 表名 values(....)
#缺省插入(字段與值要對(duì)應(yīng))
insert into 表名(fields1,field2,field3...) values(value1,value2value3...)
#多行完整數(shù)據(jù)插入
insert into 表名 values(....),(...),(...),(...)
#將一張表中所有數(shù)據(jù)插入到另一張表中
insert into table1 select * from table2
修改數(shù)據(jù)
#update
update t_name set field1=value1 ,field2=value2,field3=value3 where ...
ps:如果不加where ,默認(rèn)全部修改
刪除數(shù)據(jù)
#刪除一條記錄
delete from t_name where ....
ps:如果不加where 默認(rèn)刪除表中的所有記錄,但是自增不會(huì)重置
#清空表數(shù)據(jù),并將自增設(shè)置為1,重新開始
truncate table userinfo;
#數(shù)據(jù)導(dǎo)出
mysqldump –uroot –p 數(shù)據(jù)庫(kù)名 > /Desktop/備份文件.sql
#數(shù)據(jù)導(dǎo)入(在導(dǎo)入數(shù)據(jù)庫(kù)時(shí),前提是此數(shù)據(jù)庫(kù)已經(jīng)存在,并且為空)
mysql –uroot –p < /Desktop/備份文件.sql
#加載數(shù)據(jù)文件
source /路徑/文件名.sql
#count 統(tǒng)計(jì)有多少行記錄
select count(1) from emp; //1表示常量,每一條記錄都有一個(gè)1,查看1的個(gè)數(shù)
#max 查看記錄中某個(gè)字段最大的
select max(id) from emp;
#min 查看記錄中某個(gè)字段最小的
select min(id) from emp;
#sum 查看記錄中某個(gè)字段的總和
select sum(salary) from emp;
#avg 查段看記錄中某個(gè)字的平均值
select avg(salary) from emp;
ps:在使用這些函數(shù)時(shí),如果在加其他字段,可能顯示的值不一樣,默認(rèn)是顯示表中的第一行的字段值
#md5加密函數(shù)(不可逆)
MD5(pwd)
#密碼加密
passowrd(pwd)
#sha加密
sha(str)
#數(shù)學(xué)函數(shù)
PI() //圓周率
Ceil(num) //向上取整
floor() //向下取整
round(num,保留的小數(shù)位數(shù)) //四舍五入,如果第二個(gè)參數(shù)為負(fù)數(shù),從小數(shù)點(diǎn)前一會(huì)四舍五入。
Mod(5,2) //取模 相當(dāng)于 5%2
Rand() //隨機(jī)數(shù),[0,1)
從表中隨機(jī)取數(shù)據(jù):select * from emp GROUP BY RAND() limit 2;
Pow(2,2) //2的2次方
#字符函數(shù)
replace(str,oldword,newold) //替換
lpad(str,len,padstr) //左填充,當(dāng)字符串不夠len時(shí),用字符進(jìn)行左填充
rpad(str,len,padstr) //右填充,當(dāng)字符串不夠len時(shí),用字符進(jìn)行右填充
trim() //刪除首位的空格
#日期函數(shù)
Now() //當(dāng)前的時(shí)間
Sysdate() //獲取系統(tǒng)時(shí)間
Current_date() //獲取系統(tǒng)當(dāng)前日期
Current_time() //獲取系統(tǒng)當(dāng)前時(shí)間
Year(date) //獲取日期中的年
Month(date) //獲取日期中的月
Last_day(date) //獲取當(dāng)前月的最后一天(返回的是一個(gè)日期)
Date_add(date,interval num 單位) //計(jì)算日期(返回的是一個(gè)日期)
#例:
select date_add(now(),INTERVAL 2 month) //+2月
select date_add(now(),INTERVAL 2 day) //+2天
select date_add(now(),INTERVAL 2 year) //+2年
select date_add(now(),INTERVAL -2 year) //-2年
MySQL中的運(yùn)算符 主要用于select和from子句中:
例:
select 1+1,1*2,2/2,0 ; (除法,保留小數(shù)double類型)
整除:select 3 div 2 //返回1
0做除數(shù): select 3 / 0 //返回null
算數(shù)運(yùn)算符
+ - * / div(整除)
比較運(yùn)算符
=(等于) >= <= !=(或者<>)
1表示:true, 0表示false
is null //是否為空 is not null //是否不為空
between and //在什么和什么之間
in //在什么范圍中
any //在比什么其中之一怎么樣
all //比所有都怎么樣
邏輯運(yùn)算符
and //與
or //或
新聞標(biāo)題:MySQL的基礎(chǔ)分部
鏈接分享:http://aaarwkj.com/article8/goocop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站制作、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)