MYSQL常用语句

数据库相关

创建数据库

create database 数据库名称;

删除数据库

drop database 数据库名称;

查看数据库

show database 数据库名称;

创建数据库并查看

show create database  数据库名称;

切换使用的数据库

use 数据库名称;

数据库----表相关

新建表

CREATE TABLE IF NOT EXISTS `student`(
    `id` INT(4)    NOT NULL AUTO_INCREMENT COMMENT '学号',
    `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
    `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
    `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
    `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
 

删除表

IF EXISTS为可选 , 判断是否存在该数据表,如删除不存在的数据表会抛出错误

DROP TABLE IF EXISTS teachers; -- 删除表(如果存在再删除)

修改表

1.修改表名

 ALTER TABLE 旧表名 RENAME AS 新表名

ALTER TABLE teacher RENAME AS teachers;

2.添加表的字段

 ALTER TABLE 表名 ADD字段名 列属性[属性]

ALTER TABLE teachers ADD age INT(11);

3.修改表中的列数据

ALTER TABLE 表名 MODIFY 字段名 列类型[属性]

ALTER TABLE teachers MODIFY age VARCHAR(11);-- 修改约束

 4.修改表中的字段

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]

ALTER TABLE teachers CHANGE age age1 INT(1);-- 字段重命名

5.删除表中的字段

 ALTER TABLE 表名 DROP 字段名

ALTER TABLE teachers DROP age1;

数据库-----表数据相关

添加 insert

insert into 表名 ('字段1','字段2')values('值1','值2');

INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('zsr','200024','男'),('gcc','000421','女');

修改 update

update 表名 set '字段1'='值1' where 条件= ?;

 UPDATE `student` SET `name`='zsr204' WHERE id=1;

删除 delete

delete from 表名  where 条件= ?;

DELETE FROM `student` WHERE id=1;

查询 select

1.普通查询

-- 查询全部学生
SELECT * FROM student;

-- 查询指定的字段
SELECT `LoginPwd`,`StudentName` FROM student;

-- 别名 AS(可以给字段起别名,也可以给表起别名)
SELECT `StudentNo` AS 学号,`StudentName` AS 学生姓名 FROM student AS 学生表;

-- 函数 CONCAT(str1,str2,...)
SELECT CONCAT('姓名',`StudentName`) AS 新名字 FROM student;

-- 查询系统版本(函数)
SELECT VERSION();

-- 用来计算(计算表达式)
SELECT 100*53-90 AS 计算结果;

-- 查询自增步长(变量)
SELECT @@auto_increment_increment;

-- 查询有哪写同学参加了考试,重复数据要去重
SELECT DISTINCT `StudentNo` FROM result;

2.条件查询

select 查询列表 from 表名 where 筛选条件;

between and 使用

SELECT `StudentNo`,`StudentResult` FROM result WHERE `StudentResult`BETWEEN 95 AND 100;

3.分组查询

select 分组函数,分组后的字段
from 表
【where 筛选条件】
group by 分组的字段
【having 分组后的筛选】
【order by 排序列表】
 

4.连接查询

image-20200718231304641

 

排序and分页

1.排序

select 查询列表
from 表
where 筛选条件
order by 排序列表 asc/desc

asc : 升序,如果不写默认升序
desc:降序

2.分页

select 查询列表
from 表
limit offset,pagesize;

offset代表的是起始的条目索引,默认从0开始

size代表的是显示的条目数

offset=(n-1)*pagesize

 

常用函数

-- 数学运算
SELECT ABS(-8); -- 绝对值
SELECT CEIL(5.1); -- 向上取整
SELECT CEILING(5.1); -- 向上取整
SELECT RAND(); -- 返回0~1之间的一个随机数
SELECT SIGN(-10); -- 返回一个数的符号;0返回0;正数返回1;负数返回-1

-- 字符串函数
SELECT CHAR_LENGTH('我喜欢你'); -- 字符串长度
SELECT CONCAT('我','喜欢','你'); -- 拼接字符串
SELECT INSERT('我喜欢',1,1,'超级') -- INSERT(str,pos,len,newstr) 从str的pos位置开始替换为长度为len的newstr
SELECT UPPER('zsr'); -- 转大写
SELECT LOWER('ZSR'); -- 转小写
SELECT INSTR('zsrs','s'); -- 返回第一次出现字串索引的位置
SELECT REPLACE('加油就能胜利','加油','坚持'); -- 替换出现的指定字符串
SELECT SUBSTR('坚持就是胜利',3,6); -- 返回指定的字符串(源字符串,截取位置,截取长度)
SELECT REVERSE('rsz'); -- 反转字符串

-- 时间日期函数
SELECT CURRENT_DATE(); -- 获取当前日期
SELECT CURDATE(); -- 获取当前日期
SELECT now(); -- 获取当前时间
SELECT LOCALTIME(); -- 本地时间
SELECT SYSDATE(); -- 系统时间

SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT HOUR(NOW());
SELECT MINUTE(NOW());
SELECT SECOND(NOW());

-- 系统信息
SELECT SYSTEM_USER();
SELECT USER();
SELECT VERSION();

聚合函数

函数描述
max最大值
min最小值
sum
avg平均值
count计算个数

SELECT COUNT(StudentName) FROM student; 
SELECT COUNT(*) FROM student;
SELECT COUNT(1) FROM student;

SELECT SUM(`StudentResult`) FROM result;
SELECT AVG(`StudentResult`) FROM result;
SELECT MAX(`StudentResult`) FROM result;
SELECT MIN(`StudentResult`) FROM result;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值