Mysql命令大全

来源:互联网 发布:人工智能介绍英文文章 编辑:程序博客网 时间:2024/06/09 16:52
本人学习期间自己记录的一些数据库命令

显示当前的服务器版本号

SELECT version()显示当前的日期SELECT CURDATE()增加n天显示SELECT ADDDATE(‘时间’,n)显示当前的时间SELECT CURTIME()后面加0变格式显示当前的日期时间 SELECT now()显示这个月的第几天 SELECT DAYOFMONTH('2007-02-03');这个星期的第几天 SELECT DAYOFWEEK('2007-02-03');这一年中的第几天SELECT DAYOFYEAR('2007-02-03');计算日差m-n SELECT DATEDIFF('m','n')显示当前用户 SELECT user()该函数返回N除以M后的余数 SELECT MOD(N,M);SELECT N MOD M;字符串链接SELECT CONCAT(2,' test');获取字符串的长度SELECT LENGTH('text');返回前n个字符 SELECT LEFT('foobarbar', n)判断x是否在a,b,c,d,里SELECT x IN (a,b,c,d);可为一组内容(x,y)IF条件语句 成立返回前面的SELECT IF(1>2,2,3)判断内容是否相同SELECT STRCMP(a,a)相同返回0保留n位小数SELECT FORMAT(123.n)大写转换为小写SELECT LOWER('QUADRATICALLY');重复输入n次SELECT REPEAT('MYSQL',n)替换字符串SELECT REPLACE('dsvjbk','d','c')反转字符串SELECT REVERSE('abc');返回后n个字符 SELECT RIGHT('dsgsgh',n)去掉右边的空格SELECT RTRIM(' a ')去掉俩边的空格SELECT TRIM(' q ')返回从第几个字符匹配SELECT INSTR('foobarbar', 'bar');调换位置SELECT LOCATE('bar', 'foobarbar');πSELECT PI();显示星期几SELECT DAYNAME('2007-02-03');显示第几条数据SELECT LAST_INSERT_ID()四舍五入SELECT ROUND(-1.23);保留n位小数四舍五入SELECT ROUND(1.298, n);保留小数点前n位四舍五入SELECT ROUND(23.298, -n);检测2是否在1与3之间(包括1,3)SELECT 2 BETWEEN 1 AND 3  添加用户CREATE USER '用户名'@'%' IDENTIFIED BY '密码';(%为通配符)用户授权GRANT SELECT ON 库名.表名 TO '用户名'@'%'(SELECT,insert,delete 处可改或多写,All 为全部)撤销授权(同授权)REVOKE privilege ON databasename.tablename FROM 'username'@'host';删除用户DROP USER 'username'@'host'; 创建数据库create DATABASE 数据库名查询数据库show DATABASES;删除数据库DROP DATABASE 数据库名 进入该数据库use 数据库名查询库中的表show tables;查询你创建表的语句show CREATE TABLE 表名 创建数据表CREATE TABLE 表名称(1名称 类型(大小),2名称 类型(大小).....)视图模拟建表CREATE VIEW v2 AS(SELECT * FROM 表名(形式可变))创建自增的数据表CREATE TABLE 表名称(id int(10)auto_increment,primary key(id))唯一约束UNIQUE KEY设置只可添加括号里的内容ENUM('内容1', '2', '3') DEFAULT ‘默认值’类型数字类型 int 字符串类型 varchar 字符类型 char 文本类型 text(无大小)修改表名命令alter tanle 旧表名 rename to 新表名删除数据表drop table 表名删除清空表内容delete from 表名 | TRUNCATE 表名选定删除某条内容delete from 表名 where 列名= ' '; 查看表类型desc 表名修改表结构 添加列名alter table 表名 add column 列名 类型修改表结构 修改类型alter table 表名 modify 列名 新类型修改表结构 修改列名 alter table 表名 change 旧列名 新列名 新类型修改表结构 删除列名(字段名)alter table 表名 drop 列名修改个别文本内容UPDATE 表名 SET 列名 = '修改后的值' WHERE 列名=‘控制条件’ 添加数据表内容INSERT INTO 表名(控制插入的范围(可不写)) values (字段1,字段2......)使用set的方式添加内容INSERT INTO 表名 SET 列名=‘’,列名=‘’.......;利用文本添加内容LOAD DATA LOCAL INFILE '文件夹位置' INTO TABLE pet LINES TERMINATED BY '\r\n'显示表内容SELECT*FROM 表名称 显示下标开始位置到下标偏移量select * from 表名 limit 起始位置,偏移量;显示特定的列SELECT 列名1,列名2... FROM 表名显示特定的列(去重复)SELECT DISTINCT 列名 FROM 表名显示特定的行SELECT*FROM 表名 WHERE 列名=‘条件’ AND(并且) OR(或者)显示表中有多少行SELECT COUNT(*) FROM 表名分组显示多少行SELECT COUNT(*) FROM 表名 GROUP BY 根据分组的列名; COUNT( ) 和 GROUP BY 一起使用,可以很好的描述每个组里面的数据。用户自定义的变量SELECT @随便写:=MIN(price),@随便写:=MAX(price) FROM 表名显示排序SELECT*FROM 表名 ORDER BY 列名(根据此列名排序) 加DESC为倒叙;多表在一张表中显示(自动去重复)SELECT*FROM 表1,表2 UNION SELECT*FROM 表1,表2 加ALL显示全部 后面表列名必须和第一张表列名数量相同,查询的表不够时 用‘ ’表示 列名不为空列名 IS NOT NULL条件语法的使用WHERE 条件在前 | HAVING 条件在后多条条件同时设定select * from 表名 where 列名 in(内容,内容)计算时间间隔TIMESTAMPDIFF(YEAR,小,大)――――――Y EAR年 ―― MONTH月 ―― DAYOF MONTH月中的日时间相加MONTH(DATE_ADD(日期,INTERVAL 1 MONTH));;MOD(MONTH(日期), 控制范围数字) + 数; 显示模式匹配SELECT*FROM 表名 WHERE 列名 LIKE ‘ ’ SELECT * from blogs where instr(title, '5' )>0 正则表达式模式匹配你可以用 “_”匹配任意单个字符,用“%”匹配匹配任意数量的字符。关键字LIKE 或NOT LIKE SELECT * FROM 表名 WHERE 列名 REGEXP‘ ’ [ ] 匹配任何在方括号内的字符,单个字符可不加括号。 [a-z]匹配a到z中间的任何字母。^开头$结尾, 强制正则表达式加BINARY关键字(可控大小写)查询中使用{n}表示重复n次 作为链接两张表(内链接)SELECT*FROM 表1 INNER JOIN 表2 ON 表1.列1 = 表2.列名2内链接的另一种方法SELECT*FROM 表1,表2 WHERE 表1.列1 = 表2.列名2作为链接两张表(左连接)SELECT*FROM 表1 LEFT JOIN 表2 ON 表1.列1 = 表2.列名2作为链接两张表(右连接)SELECT*FROM 表1 RIGHT JOIN 表2 ON 表1.列1 = 表2.列名2 为匹配两张表中的记录ON子句联合查询一张表可以给他起多个别名同时使用 俩个查询中间用union链接 转载请注明出处:http://blog.csdn.net/q714093365/article/details/74529188