久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Mysql使用方法有哪些

166次閱讀
沒有評論

共計 5346 個字符,預計需要花費 14 分鐘才能閱讀完成。

這篇文章主要為大家展示了“Mysql 使用方法有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“Mysql 使用方法有哪些”這篇文章吧。

 
# 登錄
-hlocalhost -uroot -p;
# 修改密碼
mysqladmin -uroot -pold password new;
 
  www.2cto.com  
# 顯示數據庫
show databases;
# 顯示數據表
show tables;
# 選擇數據庫
use examples;
# 創建數據庫并設置編碼 utf-8 多語言
create database `examples` default character set utf8 collate utf8_general_ci;
# 刪除數據庫
drop database examples;
# 創建表
create table test(
    id int(10) unsigned zerofill not null auto_increment,
    email varchar(40) not null,
    ip varchar(15) not null,
    state int(10) not null default -1 ,
    primary key (id)
)engine=InnoDB;
# 顯示表結構
describe 
# 刪除表
drop table test;
# 重命名表
alter table test_old rename test_new;
# 添加列
alter table test add cn int(4) not null;
# 修改列
alter table test change id id1 varchar(10) not null;
# 刪除列  
alter table test drop cn;
# 創建索引
alter table test add index (cn,id);
# 刪除索引
alter table test drop index cn
# 插入數據
insert into test (id,email,ip,state) values(2, qq@qq.com , 127.0.0.1 , 0
# 刪除數據  
delete from test where id = 1;
# 修改數據
update test set id= 1 ,email= q@qq.com where id=1;
# 查數據
select * from test;  # 取所有數據
select * from test limit 0,2;  # 取前兩條數據  
select * from test email like %qq% #查含有 qq 字符 _表示一個 % 表示多個
select * from test order by id asc;# 降序 desc
select * from test id not in(2 , 3 #id 不含 2,3 或者去掉 not 表示含有
select * from test timer between 1 and 10;# 數據在 1,10 之間
  www.2cto.com  
#————————— 表連接知識 ——————————
# 等值連接又叫內鏈接 inner join 只返回兩個表中連接字段相等的行
select * from A inner join B on A.id = B.id; #寫法 1
select * from A,B where A.id = B.id; #寫法 2
select a.id,a.title from A a inner join B b on a.id=b.id and a.id=1;# 寫法 3 表的臨時名稱
select a.id as ID,a.title as 標題 from A inner join B on A.id=B.id;# 添加 as 字句
 
# 左連接又叫外連接 left join 返回左表中所有記錄和右表中連接字段相等的記錄
select * from A left join B on A.id = B.id;
 
select * from A left join (B,C,D) on (B.i1=A.i1 and C.i2=A.i2 and D.i3 = A.i3);# 復雜連接
 
# 右連接又叫外連接 right join 返回右表中所有記錄和左表中連接字段相等的記錄
select * from A right join B on A.id = B.id;
 
# 完整外部鏈接 full join 返回左右表中所有數據
select * from A full join B on A.id = B.id;
 
# 交叉連接 沒有 where 字句 返回卡迪爾積
select * from A cross join B;
————————- 表連接結束 ————————————————————
—————– 索引創建 ————————————————
show index from A #查看索引
alter table A add primary key(id) #主鍵索引
alter table A add unique(name) #唯一索引
alter table A add index name(name) #普通索引
alter table A add fulltext(name) #全文索引
alter table A add index name(id,name) #多列索引
 
# 常用函數
abs(-1)# 絕對值
pi()#pi 值
sqrt(2)# 平方根
mod(-5,3)# 取余 -2
ceil(10.6)# 進位 +1 結果 11 ceil(10.0) 結果 10
floor(10.6)# 取整 10
round(2.5)# 四舍五入到整數 結果 3
round(2.5,2)# 保留兩位小數 結果 2.50
truncate(2.5234,3)# 取小數后 3 位不四舍五入 2.523
sign(-2);# 符號函數 返回 -1 0 還是 0 正數返回 1
pow(2,3),exp(2);#2 的 3 次冪 或 e 的 2 次冪
log(2),log10(2);# 求對數
radians(180),degrees(0.618);# 角度弧度轉換
sin(0.5),asin(0.5)# 正弦和反正弦 類似 cos acos tan atan
length(hi)# 計算字符長度
concat(1 ,1, hi)# 合并字符串
insert(12345 ,1,0, 7890 #從開頭第 1 個字符開始到 0 個結束,替換成后邊字符串,0 表示在最前邊插入
ucase(a),lcase(A)# 轉成大寫和小寫
left(abcd ,2),right(abcd ,2);# 返回前兩個字符和后兩個字符
ltrim( 0  ),rtrim(0),trim( 0  )# 刪除空格
replace(1234567890 , 345678 , 0 #替換輸出 12090
substring(12345 ,1,2)# 取字符 輸出 12 1 是位置 2 是長度
instr(1234 , 234 #取得 234 位置是 2
reverse(1234 #反序輸出 4321
current()# 返回日期  www.2cto.com  
curtime()# 返回時間
now()# 返回日期時間
month(now())# 當前月份 monthname 英文月份
dayname(now())# 星期英文 dayofweek()1 是星期天 weekday()1 是星期二
week(now())# 本年第多少周
dayofyear(now()),dayofmonth(now())# 今天是本年第多少天 今天是本月第多少天
year(now()),month(now()),day(now()),hour(now()),minute(now()),second(now())# 返回年月日 時分秒
time_to_sec(now()),sec_to_time(3600*8);# 轉換時間為秒和還原
version()#mysql 版本
database()# 當前連接的數據庫 沒有為 null
user()# 獲取用戶名
md5(a)# 加密字符串
ascii(a)#ascii 值 97
bin(100),hex(100),oct(100)# 返回二進制 十六進制 八進制
conv(10001,2,8);# 各種進制相互轉換
rand()# 生成 0 到 1 之間隨機數
sleep(0.02)# 暫停秒數
 
數據庫優化
1. 開啟緩存,盡量使用 php 函數而不是 mysql
2. explain select 語句可以知道性能
3. 一行數據使用 limit 1;
4. 為搜索字段重建索引 比如關鍵字 標簽
5. 表連接 join 保證字段類型相同并且有其索引
6. 隨機查詢使用 php $r = mysql_query(SELECT count(*) FROM user
                    $d = mysql_fetch_row($r);  www.2cto.com  
                    $rand = mt_rand(0,$d[0] – 1);
                    $r = mysql_query(SELECT username FROM user LIMIT $rand, 1
7. 避免使用 select * 應該使用具體字段
8. 每張表都是用 id 主鍵,并且是 unsigned int
9. 對于取值有限而固定使用 enum 類型,如性別 國家 名族 部門 狀態
10. 盡可能使用 not null ip 存儲使用 int(4), 使用 ip 轉化函數 ip2long() 相互 long2ip()
11.delete 和 insert 語句會鎖表,所以可以采用分拆語句操作
    while(1){操作語句;usleep(2000);}
12. 選擇正確的存儲引擎;MyISAM 適合大量查詢 寫操作多用 InnoDB 支持事務
 
# 存儲過程
# 存儲程序
delimiter #定義存儲程序
create procedure getversion(out params varchar(20)) #params 是傳出參數 in 傳進 out 傳出 inout 傳回
begin
select version() into params; #版本信息賦值 params
end
call getversion(@a); #調用存儲過程
select @a;
delimiter #定義存儲函數
create function display(w varchar(20)) returns varchar(20)
begin
return concat(hello ,w);
end
select display(world
 
drop procedure if exists spName; #刪除一個存儲過程
alter function spName [];# 修改一個存儲過程
show create procedure spName;# 顯示存儲過程信息
declare varName type default value;# 聲明局部變量
#if 語句
if 條件 then 語句
elseif 條件 then 語句
else 語句  www.2cto.com  
end if
#case 語句
case 條件
when 條件 then 語句
when 條件 then 語句
else 語句
end case
#loop 語句
fn:loop
語句
end loop fn;
leave fn #退出循環
#while 語句
fn:while 條件 do
語句
end while fn
 
#mysql 使用幫助資料
? contents; #列出幫助類型
? data types;# 列出數據類型
? int;# 列出具體類型
? show;#show 語句
? create table;#
# 常見表的比較
                    Myisam   BDB    Memory    InnoDB    Archive
存儲限制        no           no      yes                64T        no
事物安全                       支持                         支持                        
鎖機制         表鎖           頁鎖     表鎖             行鎖           行鎖
全文索引       支持
外鍵支持                                                         支持
myisam  frm 存儲表定義 MYD 存儲數據 MYI 存儲索引
InnoDB 用于事務處理
char 和 varchar 保存和索引都不相同
浮點數 float(10,2) 定點數 decimal(10,2)
長度一定下,浮點數表示更大數據范圍,缺點是引起精度丟失,貨幣等使用定點數存儲
        索引適合于 where 字句或者連接字句列
        對于唯一值使用唯一索引  www.2cto.com  
 
添加新用戶 grant select,insert,update,delete on *.* to Yoby@localhost identified by mysql  
#           *.* 數據庫名. 表名,限制登錄某一個數據庫 test.*                           localhost 是本地主機 網絡可以使用 % 代替所有主機         mysql 是密碼 Yoby 是用戶名   所有權限可以用 all 代替
查看用戶權限 show grants for root @ localhost
移除權限  revoke all on *.* from root@localhost;
group by id 分組
having 限制字句
select1 union select2 聯合查詢有重復去掉保留一行
select2 union all select2 所有行合并到結果集中去

以上是“Mysql 使用方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計5346字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 津南区| 荔波县| 泰州市| 平度市| 宁城县| 商河县| 呼伦贝尔市| 张家界市| 淮阳县| SHOW| 绥江县| 盱眙县| 赤壁市| 呼图壁县| 响水县| 井冈山市| 屯昌县| 英吉沙县| 藁城市| 翁牛特旗| 娄底市| 虞城县| 汕尾市| 龙南县| 伊川县| 南通市| 邵武市| 明光市| 柳河县| 穆棱市| 沈阳市| 武川县| 南江县| 五指山市| 安溪县| 乃东县| 南安市| 延庆县| 大冶市| 大兴区| 德化县|