mysql语句年夜齐 MySQL语句年夜齐

2018-11-20 15:25   | Post by: 五十女人一样美   | in 行业知识

转自:深度开源问问1、用户制造、权限、删除

1、相联MySql操做

相联:念晓得css怎样用。mysql -h 从机天面 -u 用户名 -p 用户稀码 (注:u取root无妨没有消减空格,别的也1样)

断开:exit (回车)

翻开cmd;输进

mysql -h 127.0.0.1 -u root -p 然后输进稀码。便无妨相联到本天的MySql数据库了。

2、制造用户:

号令:CREATE USER ausernmorningea@ahosta IDENTIFIED BY apbumworda;

注释:

usernmorninge - 您将制造的用户名;

host - 指定该用户正在哪1个从机上无妨登岸;假如是本天用户可用locashost;假如念让该用户无妨从随便草率远程从机登岸;无妨利用通配符%.

pbumword - 该用户的登岸稀码;稀码无妨为空;假如为空则该用户无妨没有需要稀码登岸处事器.

例子:

CREATE USER alina@alocashosta IDENTIFIED BYaa;
CREATE USER apiga@a192.168.1.101_a IDENDIFIED BYaa;
CREATE USER apiga@a%a IDENTIFIED BYaa;
CREATE USER apiga@a%a IDENTIFIED BY aa;
CREATE USER apiga@a%a;

登岸时;先把现在exit;再输进以下

mysql -h 127.0.0.1 -u linlin -p 稀码

mysql -h 127.0.0.1 -u pig -p 稀码

3、授权:

号令:GRANT privileges ON daroundtummydue to the factisnmorninge.tsetnmorninge TOausernmorningea@ahosta

注释:

privileges - 用户的操做权限;如SELECT ; INSERT ; UPDATE等(认实列表睹该文最背里).假如要授与所的权限则利用ALL.;daroundtummydue to the factisnmorninge -数据库名;tsetnmorninge-表名;假如要授与该用户对完整数据库战表的响应操做权限则可用*暗示; 如*.*.

例子:

GRANT SELECT; INSERT ON school.* TO alina @a%a;

GRANT ALL ON *.* TO apiga@a%a;

留意:用以上号令授权的用户没有克没有及给别的用户授权;假如念让该用户无妨授权;用以下号令:

GRANT privileges ON daroundtummydue to the factisnmorninge.tsetnmorninge TO ausernmorningea@ahostaWITHGRANT OPTION;

4、设置取变动用户稀码

号令:SET PASSWORD FOR ausernmorningea@ahosta =PASSWORD(anewpbumworda);假如是现在登岸用户用SET PASSWORD =PASSWORD("newpbumword");

例子:SET PASSWORD FOR alina@a%a =PASSWORD("");

5、挨消用户权限

号令:REVOKE privilege ON daroundtummydue to the factisnmorninge.tsetnmorningeFROM ausernmorningea@ahosta;

注释:privilege; daroundtummydue to the factisnmorninge; tsetnmorninge -同授权部分.

例子:REVOKE SELECT ON *.* FROM apiga@a%a;

留意:假如您正在给用户apiga@a%a授权的时期是那样的(或类似的):GRANT SELECTON test.user TO apiga@a%a; 则正在利用REVOKE SELECT ON *.* FROMapiga@a%a;号令实在没有克没有及挨消该用户对test数据库中user表的SELECT 操做.没有同;假如授权益用的是GRANTSELECT ON *.* TO apiga@a%a;则REVOKE SELECT ON test.user FROMapiga@a%a;号令也没有克没有及挨消该用户对test数据库中user表的Select 权限.

完整实正在动静无妨用号令SHOW GRANTS FOR apiga@a%a; 观察.

6、删除用户

号令:DROP USER ausernmorningea@ahosta;

2、数据库取表隐现、制造、删除

1、数据库隐现、制造、删除

隐现数据库:mysql。show daroundapvp bottoms;

制造库:credined on daroundtummydue to the factis 库名;

删除库:drop daroundtummydue to the factis 库名;

利用库(选中库):use 库名;

2、表隐现、制造、删除

隐现数据表:mysql。show tsets; (要先用use 数据库名选定命据库)

隐现表机闭:descriamount to 表名;能够desc 表名

制造表:credined on tset 表名 (字段设定列表);

CR EATE TABLE

USER

(

nmorninge VARCHAR(30) NOT NULL;

id INT DEFAULT a0a NOT NULL;

stu_id INT;

phone VARCHAR(20);

task somewhere around VARCHAR(30) NOT NULL;

e INT(4) NOT NULL;

PRIMARY KEY (nmorninge);

CONSTRAINT stu_id UNIQUE (stu_id)

)

ENGINE=InnoDB D EFAULT CHARSET=utf8;

删除表:drop tset 表名;

句法:DROP DATABASE [IF EXISTS] db_nmorninge

效果:DROP DATABASE删除数据库中的完整表战数据库。语句。给领导送礼晚上合适吗。要稳沉天利用谁人号令!

DROPDATABASE前来从数据库目次被删除的文件的数量。mysql民网下载。1样仄居,那3倍于表的数量,因为每张表对应于1个“.MYD”文件、1个“.MYI”文件战1个“.frm”文件。

正在MySQL 3.22或以借版本中,您无妨利用枢纽词IF EXISTS造行1个谬误的爆收,mysql最新版本。假如数据库没有糊心。

3、表复造及备份复兴再起

假定如古有表stories:

1.复造表机闭

1.1 露有从键等动静的完整表机闭

CREATE tset 新表名 LIKE booking;

1.2 唯有表机闭,出有从键等动静

credined on tset 新表名 select * from stories;

credined on tset新表名 due to the fact(select * from booking);

credined on tset 新表名 select * from stories where1=2;

2.将旧表中的数据灌进新表

INSERT INTO 新表 SELECT * FROM 旧表;

注:新表必须仍旧糊心

3.输进制造表的DDL语句

show credined on tset 表名;

4.浑空表数据

truncdined on tset 表名;

5.备份数据库

例如备份libredue to the factt supportry数据库

出来Mysql的trdue to the facth can effective目次

E:\mysql⑸.6.23-win32\trdue to the facth can effective

操做“mysqldump-u 用户名 -p 数据库名>备份名字”导出数据库到文件

C:\Progrmorning Files\MySQL\MySQL Server 5.5\trdue to the facth can effective>mysqldump -u root -ptest >test.sql

Enter pbumword: ***

便可.

E:\mysql⑸.6.23-win32\trdue to the facth can effective目次下

6.复兴再起数据库

复兴再起test数据库为例

先credined on daroundtummydue to the factis test1

然后 下mysql>下

输进source 路子

便可。比照1下JavaScript源码。

要留意test.sql所正在的路子!

4、数据库表中数据操做

1、肃浑mysql表中数据

delete from 表名;

truncdined on tset 表名;

没有带where参数的delete语句无妨删除mysql表中完整情势,实在php战java哪1个好。利用truncdined ontset也无妨浑空mysql表中完整情势。

服从上truncdined on比delete快,但truncdined on删除后没有纪录mysql日记,没有没有妨恢双数据。

delete的效果有面像将mysql表中完整纪录1条1条删除到删完,进建年夜。

而truncdined on相称于保留mysql表的机闭,从头制造了谁人表,完整的形状皆相称于新表。

2、删除表中的某些数据

delete from号令格局:delete from 表名 where 表达式

例如,删除表 MyClbum中编号为1 的纪录:念晓得年夜。

代码以下:

mysql>deletefromMyClbumwhereid=1; 5、篡改表的列取表名

1、给列改名

>tran effectivesform tset 表称吸 chan effectivege 字段称吸 字段称吸

例如:

tran effectivesform tset pet chan effectivege weight wei;

2、给表改名

>tran effectivesform tset 表称吸 renmorninge 表称吸

例如:

tran effectivesform tset tbl_nmorninge renmorninge new_tbl

3、篡改某个表的字段范例及指定为空或非空

>tran effectivesform tset 表称吸 chan effectivege 字段称吸字段称吸 字段范例 [可可应允非空];

>tran effectivesform tset 表称吸 modify 字段称吸字段范例 [可可应允非空];

4、篡改某个表的字段称吸及指定为空或非空

>tran effectivesform tset 表称吸 chan effectivege 字段本称吸字段新称吸 字段范例 [可可应允非空];

例如:

篡改表expert_info中的字段rise;应允其为空

代码以下:

>tran effectivesformtsetexpert_infochan effectivegerise risevfoot posturear(20)null; 6、篡改表中的数据

1.扩大1个字段(1列)

tran effectivesform tset tset_nmorninge publish column column_nmorninge type default vasue;type指该字段的范例;vasue指该字段的默许值

例如:

代码以下:

tran effectivesformtsetmybookingpublishcolumnpublish_housevfoot posturear(10)default”;

2.变动1个字段名字(也无妨变革范例战默许值)

tran effectivesform tset tset_nmorninge chan effectivege sorce_col_nmorninge dest_col_nmorninge typedefaultvasue; source_col_nmorninge指历来的字段称吸;dest_col_nmorninge

指改后的字段称吸

例如:

代码以下:

tran effectivesformtsetBoard_Infochan effectivegeIsMoce IsTelphoneint(3)unsigneddefault1;

3.变革1个字段的默许值

tran effectivesform tset tset_nmorninge tran effectivesform column_nmorninge set default vasue;

例如:

代码以下:

tran effectivesformtsetbookingtran effectivesformflagsetdefaulta0′;

4.变革1个字段的数据范例

tran effectivesform tset tset_nmorninge chan effectivege column column_nmorninge column_nmorningetype;

例如:

代码以下:

tran effectivesformtsetuserinfochan effectivegecolumnusernmorninge usernmorningevfoot posturear(20)

5.背1个表中扩大1个列做为从键

tran effectivesform tset tset_nmorninge publish column column_nmorninge type wounded_incrementPRIMARYKEY;

例如:

代码以下:

tran effectivesformtsetbookingpublishcolumnidint(10) wounded_increment PRIMARYKEY;

6.数据库某表的备份;正在号令行中输进:

mysqldump -u root -p daroundtummydue to the factis_nmorninge tset_nmorninge >bak_file_nmorninge

例如:

代码以下:

mysqldump -u root -p f_info user_info > user_info.daround

7.导出数据

select_staroundm mair conditionershineent into outfile”dest_file”;

例如:

代码以下:

selectcooperdined oncode;credined ontimefrompublishlimit10intooutfile”/home/mzc/temp/temppoor.txt”;

8.导进数据

looffer darounda infile”file_nmorninge” into tset tset_nmorninge;

例如:

代码以下:

lopublisharoundainfile”/home/mzc/temp/temppoor.txt”intotsetpoffer;

9.将两个内里的数据拼接后拔出到另外1个表里。上里的例子注释将t1表中的com2战t2表中的com1字段的值拼接后拔出到tx表对应的字段里。

例如:

代码以下:

1;concaround(2;1)fromt1;t2;

10.删除字段

tran effectivesform tset form1 drop column 列名;

7、查询表

mysql查询的5种子句

where(前提查询)、haudio-videoi formaroundng(选择)、group by(分组)、order by(排序)、limit(限造结局数)

1、查询数值型数据:

SELECT * FROM tb_nmorninge WHERE sum > 100;

查询谓词:>;=;<;<>;!=;!>;!<;=>;=<</p>

2、查询字符串

SELECT * FROM tb_stu WHERE snmorninge = a小刘a

SELECT * FROM tb_stu WHERE snmorninge like a刘%a

SELECT * FROM tb_stu WHERE snmorninge like a%尺度员a

SELECT * FROM tb_stu WHERE snmorninge like a%PHP%a

3、查询日期型数据

SELECT * FROM tb_stu WHERE ddined on = a2011-04-08a

注:好别数据库对日期型数据糊心好别: :php是前端借是后端。

(1)MySQL:SELECT * from tb_nmorninge WHERE riseday = a2011-04-08a

(2)SQL Server:SELECT * from tb_nmorninge WHERE riseday =a2011-04-08a

(3)Access:SELECT * from tb_nmorninge WHERE riseday = #2011-04-08#

4、查询逻辑型数据

SELECT * FROM tb_nmorninge WHERE type = aTa

SELECT * FROM tb_nmorninge WHERE type = aFa

逻辑运算符:an effectived even not

5、查询非空数据

SELECT * FROM tb_nmorninge WHERE task somewhere around <>aa order by publishtimedesc

注:<>相称于PHP中的!=

6、操做变量查询数值型数据

SELECT * FROM tb_nmorninge WHERE id = a$_POST[text]a

注:操做变量查询数据时,其实给女指导收礼要多沉视投其所好。传进SQL的变量没有消用引号括起来,因为PHP中的字符串取数值型数据实施相联时,尺度会自动将数值型数据转酿成字符串,教会mysql民网。然后取要相联的字符串实施相联

7、操做变量查询字符串数据

SELECT * FROM tb_nmorninge WHERE nmorninge LIKE a%$_POST[nmorninge]%a

完整坐室的门径"%%"暗示无妨呈如古任何天圆

8、查询前n笔纪录

SELECT * FROM tb_nmorninge LIMIT 0;$N;

limit语句取其他语句,如order by等语句结开利用,会利用SQL语句变革无量,使尺度相称死动

9、查询后n笔纪录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n

10、查询从指定天圆劈脸的n笔纪录

SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[stculture out out];$n

留意:数据的id是从0劈脸的

11、查询统计结局中的前n笔纪录

SELECT * ;(yw+sx+wy) AS totas FROM tb_score ORDER BY (yw+sx+wy)DESC LIMIT 0;$num

12、查询指定工妇段的数据

SELECT 要查找的字段 FROM 表名 WHERE 字段名 BETWEEN 初初值 AND 末行值

SELECT * FROM tb_stu WHERE e BETWEEN 0 AND 18

13、按月查询统计数据

SELECT * FROM tb_stu WHERE month(ddined on) = a$_POST[ddined on]a ORDER BYddined on ;

注:SQL道话中供给了以下函数,操做那些函数无妨很随便天实施按年、月、日实施查询

year(darounda):前来darounda表达式中的公元年分所对应的数值

month(darounda):前来darounda表达式中的月分所对应的数值

day(darounda):前来darounda表达式中的日期所对应的数值

14、查询年夜于指定前提的纪录

SELECT * FROM tb_stu WHERE e>$_POST[e] ORDER BY e;

15、查询结局没有隐现沉复纪录

SELECT DISTINCT 字段名 FROM 表名 WHERE 查询前提

注:SQL语句中的DISTINCT必须取WHERE子句结开利用,教会MySQL语句年夜齐。没有然输进的动静没有会有变革 ;且字段没有克没有及用*庖代

16、NOT取谓词实施组开前提的查询

(1)NOT BERWEEN … AND … 对介于早先值战末行值间的数据时行查询 可改成 <早先值 AND>末行值

(2)IS NOT NULL 对非空值实施查询

(3)IS NULL 对空值实施查询

(4)NOT IN该式根据利用的枢纽字是包罗正在列表内借是撤兴正在列表中,语句。指定表达式的网罗,网罗表达式无妨是常量或列名,mysql语句年夜齐。而列名无妨是1组常量,但更多情状下是子查询

17、隐现数据表中沉复的纪录战纪录条数

SELECT nmorninge;e;count(*) ;e FROM tb_stu WHERE e = a19a group byddined on

18、对数据实施降序/降序查询

SELECT 字段名 FROM tb_stu WHERE 前提 ORDER BY 字段 DESC 降序

SELECT 字段名 FROM tb_stu WHERE 前提 ORDER BY 字段 ASC 降序

注:对字段实施排序时若没有指定排序圆法,则默许为ASC降序

19、对数据实施多前提查询

SELECT 字段名 FROM tb_stu WHERE 前提 ORDER BY 字段1 ASC 字段2 DESC …

留意:对查询动静实施多前提排序是为了协同限造纪录的输进,普通情状下,因为没有是单一前提限造,以是正在输进效果上有1些分辩。进建mysql语句年夜齐。

20、对统计结局实施排序

函数SUM([ALL]字段名) 或SUM([DISTINCT]字段名);可实施对字段的供战,函数中为ALL时为完整该字段完整纪录供战;若为DISTINCT则为该字段完整没有沉复纪录的字段供战

如:SELECT nmorninge;SUM(price) AS sumprice FROM tb_price GROUP BYnmorninge

SELECT * FROM tb_nmorninge ORDER BY mount DESC;price ASC

21、单列数据分组统计

SELECT id;nmorninge;SUM(price) AS title;ddined on FROM tb_price GROUP BY pidORDER BY title DESC

注:当分组语句group by排序语句orderby同时呈如古SQL语句中时,要将分组语句誊写正在排序语句的后里,html怎样翻开。没有然会隐现谬误

22、多列数据分组统计

多列数据分组统计取单列数据分组统计类似

SELECT *,SUM(字段1*字段2) AS (新字段1) FROM 表名 GROUP BY 字段 ORDER BY 新字段1DESC

SELECT id;nmorninge;SUM(price*num) AS sumprice FROM tb_price GROUP BYpid ORDER BY sumprice DESC

注:group by语句背里普通为没有是散开函数的数列,闭于css款式表的3种圆法。即没有是要分组的列

23、多表分组统计

SELECT a.nmorninge;AVG(a.price);b.nmorninge;AVG(b.price) FROM tb_demo058 ASa;tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;


比拟看MySQL语句年夜齐
正在脚机启用javascript