MySQL 常用SQL语句
时间:2021-07-01 10:21:17
帮助过:6人阅读
DATABASE `test`
DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;#创建数据库
SHOW DATABASES;#显示所有数据库
SHOW CREATE DATABASE `test`;#显示创建数据库语句
SHOW ENGINES;#显示数据库引擎
DROP DATABASE `test`;#删除数据库
SHOW VARIABLES LIKE ‘storage_engine‘;
#删除表
DROP TABLE IF EXISTS `log_user_login`;
#创建表
CREATE TABLE `log_user_login`(
`id` INT UNSIGNED
NOT NULL AUTO_INCREMENT COMMENT
‘自动编号‘,
`user_id`
INT UNSIGNED
NOT NULL COMMENT
‘会员 id‘,
`login_time` DATETIME NOT NULL DEFAULT NOW() COMMENT
‘登录时间‘,
`login_ip` VARCHAR(
15)
NOT NULL DEFAULT ‘0.0.0.0‘ COMMENT
‘登录 IP‘,
`platform` TINYINT NOT NULL DEFAULT 0 COMMENT
‘登录平台[0 PC|1 手机浏览器|2 微信安卓端|3 微信IOS端]‘,
PRIMARY KEY (`id`),
CONSTRAINT `fk_user_user_login`
FOREIGN KEY(`
user_id`)
)ENGINE=InnoDB AUTO_INCREMENT
=1 DEFAULT CHARSET
=utf8 COLLATE utf8_general_ci COMMENT
‘[商城管理系统]会员登录记录表‘;
#复制表结构
CREATE TABLE `log_user_login_scheme`
LIKE `log_user_login`
#复制表结构和数据
INSERT INTO tbl(col)
SELECT col
FROM tbl2
WHERE ...
#查看表创建语句
DESC `log_user_login`;
SHOW TABLES;
SHOW CREATE TABLE `log_user_login`;
#表重命名
ALTER TABLE `log_user_login` RENAME `user_login_log`;
#表结构修改 ALTER TABLE <表名
> MODIFY
<字段名
> <数据类型
>
ALTER TABLE `log_user_login` MODIFY `
user_id`
BIGINT;
#表字段名重命名 ALTER TABLE <表名
> CHANGE
<旧字段名
> <新字段名
> <数据类型
>
ALTER TABLE `log_user_login` CHANGE `login_IP`
VARCHAR(
20);
#显示表结构
DESC `log_user_login`;
#表添加字段
ALTER TABLE `log_user_login`
ADD `test`
VARCHAR(
20)
NOT NULL AFTER `login_ip`;
#查看索引
SHOW INDEX FROM `test`;
#表创建索引
CREATE INDEX idx
ON tbl(col);
CREATE UNIQUE INDEX idx tbl(col);
ALTER TABLE tbl
ADD INDEX `idx_col`(`col`);
#删除索引
DROP INDEX idx
ON tbl;
#表删除字段
ALTER TABLE `log_user_login`
DROP `test`;
#表存储引擎修改
ALTER TABLE `log_user_login` ENGINE
=InnoDB;
#表删除外键
ALTER TABLE `log_user_login`
DROP FOREIGN KEY `fk_xxx`
#创建存储过程
CREATE PROCEDURE SelectNow()
BEGIN
SELECT NOW();
END;
CREATE PROCEDURE CountProduct(OUT c
INT)
BEGIN
SELECT COUNT(
*)
INTO c
FROM products;
END;
#创建函数
CREATE FUNCTION SelectNOW()
RETURNS DATETIME
RETURN (
SELECT NOW());
#创建触发器
CREATE TRIGGER `trig_course_add_student`
BEFORE INSERT ON `wp_user_xp`
FOR EACH ROW
update wp_posts
set student_count
= student_count
+ 1 where id
= new.course_id
#查看触发器
SHOW TRIGGERS;
#SELECT 语句
SELECT c.id,o.num
FROM orders o
INNER JOIN customers c
ON c.id
= o.customer_id
ORDER BY c.id
SELECT * FROM employee
WHERE (
YEAR(NOW())
-YEAR(hireday))
>=15;#获取工龄超过15年的员工
SELECT * FROM products
WHERE title REGEXP
‘^iphone‘
SELECT * FROM products
WHERE price
>25 AND EXISTS(
SELECT name
FROM suppliers
WHERE id
=25)
SELECT num
FROM tbl
WHERE num
IS NOT NULL
SELECT DISTINCT user_id FROM orders
SELECT num
FROM tbl1
WHERE num
> ANY(
SELECT num
FROM tbl2)
SELECT num
FROM tbl1
WHERE num
> ALL(
SELECT num
FROM tbl2)
SELECT id
FROM orders
WHERE order_no
IN(
‘S12121,‘,
‘S121962‘)
SELECT * FROM products
WHERE name REGEXP
‘^iphone‘
#使用光标
DECLARE cursor_product
CURSOR FORM
SELECT name,price
FROM products;
OPEN cursor_product;
FETCH cursor_product
INTO name,price;
CLOSE cursor_product;
#常用函数
UPDATE `test`
SET `title`
= REPLACE(`title`,
‘ ‘,
‘‘);#字符串替换
SELECT ABS(
2),
ABS(
-2);#绝对值
SELECT PI();#查看PI
SELECT SQRT(
9);#求平方根
SELECT MOD(
31,
8);#求余数
SELECT CEIL(
-4.2),CEIL(
4.2);#求整数
-4,
5
SELECT FLOOR(
-4.2),
FLOOR(
4.2);#求整数
-5,
4
SELECT RAND(),
RAND(
1),
RAND(
1);#生成随机数,种子相同随机数相同
SELECT ROUND(
-3.14),
ROUND(
-4.56),
ROUND(
1.21);#四舍五入
SELECT TRUNCATE(
19.99,
-1),
TRUNCATE(
19.99,
0),
TRUNCATE(
19.99,
1);#截取保留指定小数点位值
SELECT SIGN(
-2),
SIGN(
0),
SIGN(
2);#符号函数、
SELECT POW(
2,
3);#幂函数
SELECT EXP(
3);#求自然数e的乘方
SELECT LOG(
3);#求自然数e的对数
SELECT LOG10(
3);#求基数为10的对数
SELECT RADIANS(
90);#角度转弧度
SELECT DEGREES(
PI());#弧度转角度
SELECT SIN(
1),
ROUND(
SIN(
PI()));#求正弦
SELECT ASIN(
SIN(
1)),
ASIN(
3);#求反正弦
SELECT CHAR_LENGTH(
‘我爱你中国‘),CHAR_LENGTH(
‘abcde‘);#求字符个数5,
5
SELECT LENGTH(
‘我爱你中国‘),LENGTH(
‘abcde‘);#求字符串长度,
15,
5
SELECT CONCAT(
‘ABC‘,
‘DE‘,
‘FG‘,
‘HI‘),CONCAT(
‘ABC‘,
NULL,
‘DE‘);#合并字符串,
‘ABCDEFGHI‘,
NULL
SELECT INSERT(
‘Question‘,
2,
4,
‘Change‘);#字符串部分替换,
‘QChangeion‘
SELECT LEFT(
‘I Love China‘,
6),
RIGHT(
‘I Love China‘,
5);#获取子字符串
SELECT LPAD(
‘hello‘,
4,
‘?*‘),LPAD(
‘hello‘,
8,
‘?*‘),RPAD(
‘hello‘,
4,
‘?*‘),RPAD(
‘hello‘,
8,
‘?*‘);#字符串填充到指定长度
SELECT LTRIM(
‘ 我爱你中国 ‘),
RTRIM(
‘ 我爱你中国 ‘),
RTRIM(
LTRIM(
‘ 我爱你中国 ‘)),TRIM(
‘ 我爱你中国 ‘);#删除空格
SELECT TRIM(
‘ab‘ FROM ‘abfijefiabereabReEFab‘);#删除两端子字符串
SELECT REPEAT(
‘mysql‘,
3);#字符串重复
SELECT CONCAT(
‘(‘,
SPACE(
6),
‘)‘);#空格函数
SELECT STRCMP(
‘txt‘,
‘txtab‘),STRCMP(
‘txtab‘,
‘txt‘),STRCMP(
‘txt‘,
‘txt‘);#字符串比较
SELECT SUBSTRING(
‘I love China‘,
3,
5),
SUBSTRING(
‘I love China‘,
-5);#截取子字符串
SELECT REVERSE(
‘abc‘);#字符串逆序
SELECT NOW(),
CURRENT_DATE(),
CURRENT_TIME();#日期时间函数
SELECT UNIX_TIMESTAMP(),FROM_UNIXTIME(UNIX_TIMESTAMP());#时间戳
SELECT MONTH(
‘2019-2-19‘),MONTHNAME(
‘2019-2-19‘),
MONTH(NOW());#月份函数
SELECT DAYNAME(NOW()),DAYOFWEEK(NOW());#星期函数
SELECT YEAR(NOW());#年函数
SELECT QUARTER(NOW());#季度函数
SELECT MINUTE(NOW());#分钟函数
SELECT SECOND(NOW());#秒函数
SELECT IF(
1>2,
1,
2);#
IF 条件函数
SELECT IFNULL(
1,
2),IFNULL(
NULL,
2);#空判断条件函数
SELECT VERSION();#获取MYSQL版本号
SELECT CONNECTION_ID();#获取当前用户的连接数
SHOW PROCESSLIST;#查看用户连接信息
SELECT USER();#获取登录用户名
SELECT MD5(
‘abc‘),
SELECT DECODE(ENCODE(
‘secret‘,
‘key‘),
‘key‘);#加密解密函数key 为密钥
SELECT CAST(
100 AS CHAR(
2)),
CONVERT(NOW(),TIME);#改变数据类型
SELECT LAST_INSERT_ID();#获取最后插入的id,自增表
MySQL 常用SQL语句
标签:ceil 用户 current code 编号 引擎 scheme efault _id