mysql数据库常用sql语句
數(shù)據(jù)庫(kù)可以用圖形化工具來(lái)實(shí)現(xiàn)一系列操作,這里涉及一些cmd命令行
首先要配置好環(huán)境變量可以全局操作命令,不然只能在mysql的安裝目錄下進(jìn)行操作,這里不再敘述
1. 進(jìn)入數(shù)據(jù)庫(kù):? mysql -u root -p (默認(rèn)用戶名為root,這個(gè)與mysql安裝時(shí)的設(shè)置的用戶有關(guān),可設(shè)置使用不同用戶)? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ?退出則用exit指令
2. 看有哪些數(shù)據(jù)庫(kù):? ?show databases;? (注意每次執(zhí)行數(shù)據(jù)庫(kù)命令時(shí)要加‘’;‘’,你也可以設(shè)置成其他符號(hào),這里不再敘述)
3. 進(jìn)入指定數(shù)據(jù)庫(kù) :? use 數(shù)據(jù)庫(kù)名;
4. 查看數(shù)據(jù)庫(kù)中有哪些表:? ?show tables;
5. 查看表:(1) desc 表名;? ?查看數(shù)據(jù)
? ? ? ? ? ? ? ? ? (2)? show create table 表名;? ? ? 查看表的細(xì)節(jié)
?
sql語(yǔ)句:DDL(定義數(shù)據(jù)庫(kù)對(duì)象,表與列),DML(用于操作數(shù)據(jù)庫(kù)表中的記錄數(shù)據(jù)),
? ? ? ? ? ? ? ? DQL(查詢數(shù)據(jù)),DCL(定義訪問(wèn)權(quán)限和安全級(jí)別)
?
1.DDL 數(shù)據(jù)定義語(yǔ)言
注意點(diǎn):在指定數(shù)據(jù)庫(kù)中做表的相關(guān)操作,所以要先進(jìn)入指定的數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)和表:
創(chuàng)建數(shù)據(jù)庫(kù) create database 數(shù)據(jù)庫(kù)名 character set utf8;? ? (字符集一般設(shè)為utf8)
創(chuàng)建表: 在指定數(shù)據(jù)庫(kù)中創(chuàng)建表,所以要先進(jìn)入指定的數(shù)據(jù)庫(kù)
? ? ? ? -- use 數(shù)據(jù)庫(kù)名;
? ? ? ? -- create table 表名(列名1(字段) 字段類型[約束條件],列名2 字段類型,...);
? ? ? ? ? ? ? ?eg:create table students(name varchar(255),age int,gender varchar(25));
修改表名: rename table 原來(lái)表名 to 新表名;
修改表的字符集:例如將表字符集改為gbk ,則是 alter table 表名 character set gbk;
刪除表:drop table 表;
刪除數(shù)據(jù)庫(kù)名:drop table 數(shù)據(jù)庫(kù)名;
?
修改字段(列)
添加字段:alter table 表名 add 字段名 字段類型;
修改字段名:alter table 表名 change 原始字段名 新的字段名 新數(shù)據(jù)類型;
修改字段的數(shù)據(jù)類型:alter table 表名 modeify 字段名 字段類型;
刪除字段: alter table 表名 drop 字段名:
?
2.DML 數(shù)據(jù)操作語(yǔ)言
首先要進(jìn)入指定的數(shù)據(jù)庫(kù)中才能進(jìn)行操作數(shù)據(jù)
插入多條數(shù)據(jù)數(shù)據(jù):insert into 表名(列名1,列名2,...)? values (列值1,列值2,...),values (列值1,列值2,...),...
修改更新數(shù)據(jù):update 表名 set 列名1=列值1,列名2=列值2,... where 條件;? ? ? ? ? ?用where條件對(duì)指定數(shù)據(jù)進(jìn)行修改
修改數(shù)據(jù)庫(kù)密碼:
? ? ? ? 第一種方式:(1)use mysql;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)update user set authentication_string=password('密碼') where user='root' and Host='localhost';
? ? ? ? 第二種方式:mysqladmin -u root = 新密碼;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?然后會(huì)讓你輸入舊密碼就可修改
? 刪除記錄:
? ? ? ? 第一種:delete from 表名 where 條件;? ? ? ?能找回?cái)?shù)據(jù)
? ? ? ? 第二種:trumcate table 表名;? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建一個(gè)新的表,但是表原來(lái)的數(shù)據(jù)刪除了,不能找回?cái)?shù)據(jù)
?
3.DQL 數(shù)據(jù)查詢語(yǔ)言
? ? 查詢數(shù)據(jù)顯示指定字段:select 字段名1,字段名2,...?from 表名;? ? (select * from 表名; 則是顯示全部字段)
? ? 條件查詢:=(等于),!=(不等于),<>(不等于),<(小于),<=(小于等于),>(大于),>=(大于等于)
? ? ? ? ? ? ? ? ? ? ?between ... and? ?,? ?in(set)? (在set集合中)? , is null (為空)? ,is not null (不為空)?
? ? ? ? ? ? ? ? ? ? ?and(與), or(或), not(非)
? ? ? ? ? ? ? ? ?eg:select * from 表名 where age in (18,17,19);
? ? 模糊查詢:通過(guò)關(guān)鍵字查詢,格式為 like+通配符
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 通配符:-(任意一個(gè)字符),%(任意0-n個(gè)字符)
? ? ? ? ? ? ? ? ? ? ? ?eg: 查詢名字中帶‘李’的人? ?select * from 表名 like '%李%';
? ? ?字段查詢:1. distinct去重 :select distinct 字段名 from 表;? ? ?顯示指定字段,去掉了重復(fù)字段數(shù)據(jù)
? ? ? ? ? ? ? ? ? ? ? ?2. 對(duì)數(shù)值型字段進(jìn)行運(yùn)算后顯示:
? ? ? ? ? ? ? ? ? ? ? ? eg:? ?select 字段1+字段2 as 新字段名 from 表;? ? ? ?將兩字段進(jìn)行運(yùn)算后,顯示新的字段名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (字段1,字段2必須是數(shù)值型,若為空則可設(shè)置默認(rèn)值,IFNULL(字段1,數(shù)值))
? ? ? ? ? ? ? ? ? ? ? ? eg:? ? select IFNULL(字段1,0)+IFNULL(字段2,0) as 新字段名 from 表;? 默認(rèn)空字段設(shè)為0
? ? ?排序:select * from 表名 ORDER BY 字段1 ASC,字段2 DESC,...
? ? ? ? ? ? ? ? ? ? 先按字段1排序,若有字段相同數(shù)據(jù),在按字段2進(jìn)行排序,以此類推? ? ASC為升序,DESC為降序
? ?
? ?聚合函數(shù):對(duì)統(tǒng)計(jì)的結(jié)果進(jìn)行計(jì)算統(tǒng)計(jì)??
? ? ? ? ? ? ? ? ? ? COUNT() : 統(tǒng)計(jì)指定列不為null的行數(shù)? ? ? eg: select count(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? MAX() : 列中最大值? ? ? ? ? ? ?eg: select max(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? MIN() : 列中最小值? ? ? ? ? ? ? eg: select min(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? SUM() : 列的數(shù)值和,若不是數(shù)值類型則為0? ? ? ?eg: select sum(字段1) from 表 [where 條件];
? ? ? ? ? ? ? ? ? ? AVG() : 列的平均數(shù),若不是數(shù)值類型則為0? ? ? ? eg: select avg(字段1) from 表 [where 條件];
?
? ? ? ? ? ? ? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的mysql数据库常用sql语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端在线取色器工具
- 下一篇: linux cmake编译源码,linu