mysql升级 增删改查询

查看当前默认引擎
myisam 类型表文件
.frm:表结构定义文件
.myd:数据文件
.myi:索引文件
innodb类型文件
.frm:表结构定义文件
ibdata1文件
储存位置
因操作系统而异,可查my.ini

插入文件
insert into 表名[(字段表列名)] values (值列表);
字段名是可选的,如省略则依次插入所有字段
多个列表和多个值之间使用逗号分隔
值列表和字段名列表——对应
如插入的是表中部分数据,字段名列表必填

查询表名2这个表的某个列 并插入到新建的表名1的表里
#将查询结果插入新表
CREATE TABLE beifen(
SELECT studentNo,loginPwd,studentName,sex,gradied1,phone,address,bronCade,email,identityCand
FROM student1
);
INSERT INTO beifen(
SELECT studentNo,loginPwd,studentName,sex,gradied1,phone,address,bronCade,email,identityCand
FROM student1
);

更新数据记录
update 表名
set 字段1=值1,字段2=值2
[where 条件]

删除数据
delete from 表名[where条件]
tryncate table 表名
如果不写where条件,会删除表格所有的内容
tryncate语句删除后将重置自增列,表结构及其字段,约束,索引保持不变,执行速度比delete语句快

查询
select 列名|表达式|函数|常量
from 表名
where 条件
order by 排序

使用常量列
select student1

AVG() 返回某字段的平均值
COUNT() 返回某字段的行数
MAX() 返回某字段的最大值
MIN() 返回某字段的最小值
SUM() 返回某字段的和

字符串函数
concat(str1,str2) 字符串拼接
insret(str,pos,len,newstr) 字符串替换 newstr替换str pos替换开始下标 len代表替换的长度
lower 将字符转为小写
upper(str) 将字符串转为大写
substring(str,num,len) 字符串截取 num截取开始下标 len代表截取的长度

时间日期函数
CURDATE() 获取当前日期
SELECT CURDATE();
返回:2016-08-08
CURTIME() 获取当前时间
SELECT CURTIME();
返回:19:19:26
NOW() 获取当前日期和时间
SELECT NOW();
返回:2016-08-08 19:19:26
WEEK(date) 返回日期date为一年中的第几周
SELECT WEEK(NOW());
返回:26
YEAR(date) 返回日期date的年份
SELECT YEAR(NOW());
返回:2016
HOUR(time) 返回时间time的小时值
SELECT HOUR(NOW());
返回:9
MINUTE(time) 返回时间time的分钟值
SELECT MINUTE(NOW());
返回:43
DATEDIFF(date1,date2) 返回日期参数date1和date2之间相隔的天数
SELECT DATEDIFF(NOW(),
‘2008-8-8’);
返回:2881
ADDDATE(date,n) 计算日期参数date加上n天后的日期
SELECT ADDDATE(NOW(),5);
返回:2016-09-02 09:37:07

数学函数
CEIL(x) 返回大于或等于数值x的最小整数
SELECT CEIL(2.3)
返回:3

FLOOR(x) 返回小于或等于数值x的最大整数
SELECT FLOOR(2.3)
返回:2

RAND() 返回0~1间的随机数
SELECT RAND()
返回:0.5525468583708134

limit子句
SELECT <字段名列表>

FROM <表名或视图>

[WHERE <查询条件>]

[GROUP BY <分组的字段名>]

[ORDER BY <排序的列名>[ASC升序排序 或 DESC降序排序]]

[LIMIT [位置偏移量,]行数];

代码:
CREATE TABLE student1(
studentNo INT(4) NOT NULL COMMENT’学号’ PRIMARY KEY,
loginPwd VARCHAR(20) NOT NULL COMMENT’密码’,
studentName VARCHAR(50) NOT NULL COMMENT’学生姓名’,
sex CHAR(2) DEFAULT’男’ NOT NULL COMMENT’性别’,
gradeid INT(4) UNSIGNED COMMENT’年纪编号’,
phone VARCHAR(50) COMMENT’手机号’,
address VARCHAR(255) DEFAULT’不详’ COMMENT’地址’,
bronCade DATETIME COMMENT’生日’,
email VARCHAR(50) COMMENT’邮箱编号’,
identityCand VARCHAR(18) UNIQUE KEY COMMENT’身份证号’
)COMMENT=‘学生表’;
#给学生表插入值
INSERT INTO student1(studentNo,loginPwd,studentName,sex,gradied1,phone,address,bronCade,email,identityCand) VALUES
(1001,‘123’,‘张小皮’,‘男’,2,‘18518777715’,‘北京’,‘1997-07-16’,‘1729924027@qq.com’,‘150421199707161999’),
(1002,‘122’,‘张中皮’,‘女’,1,‘18518777716’,‘南京’,‘1997-06-11’,‘2841118592@qq.com’,‘1513212197076111328’),
(1003,‘321’,‘张大皮’,‘男’,2,‘18518777717’,‘赤峰’,‘1997-09-30’,‘1295187465@qq.com’,‘1504211997079301465’)
#将student1里面的gradeid改成gradied1
ALTER TABLE student1 CHANGE gradeid gradied1 INT(4);
USE school;
DROP TABLE IF EXISTS student1;

CREATE TABLE grade1(
id INT(4) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL
)COMMENT=‘年级表’;

#给年纪表插入值
INSERT INTO grade1(name) VALUES(‘大一’),(‘大二’),(‘大三’),(‘大四’);
CREATE TABLE subject(
subjectNo INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT’课程编号’,
subjectName VARCHAR(50) COMMENT’课程名称’,
classHour INT(4) COMMENT’学时’,
gradeID INT(4) COMMENT’年级编号’
)COMMENT=‘科目表’;

#给科目表添加值
INSERT INTO subject(subjectNo,subjectName,classHour,gradeID) VALUES(1,‘大学英语’,48,2),(2,‘大学数学’,36,1),(3,‘大学语文’,64,2)
CREATE TABLE result(
studentNo INT(4) NOT NULL COMMENT’学号’,
subjectNo INT(4) NOT NULL COMMENT’课程编号’,
examDate DATETIME NOT NULL COMMENT’考试日期’,
studentResult INT(4) NOT NULL COMMENT’考试成绩’
)COMMENT=‘成绩表’;

#给成绩表添加分数
INSERT INTO result VALUES(1001,1,NOW(),90),(1001,2,NOW(),91),(1001,3,NOW(),92),
(1002,1,NOW(),89),(1002,2,NOW(),95),(1002,3,NOW(),87),
(1003,1,NOW(),93),(1003,2,NOW(),90),(1003,3,NOW(),97);

#将查询结果插入新表
CREATE TABLE beifen(
SELECT studentNo,loginPwd,studentName,sex,gradied1,phone,address,bronCade,email,identityCand
FROM student1
);
INSERT INTO beifen(
SELECT studentNo,loginPwd,studentName,sex,gradied1,phone,address,bronCade,email,identityCand
FROM student1
);

#将学号为3的学生的电话更改为13211199999
UPDATE student1 SET phone=13211199999
WHERE studentNo=1003;

#将科目表中的科目名称为‘大学英语’的改为‘小学英语’
UPDATE subject SET subjectName=‘小学英语’
WHERE subjectName=‘大学英语’;

#将成绩表中的每个学生的成绩提高2分
UPDATE result SET studentResult=studentResult+2
#将成绩表中的每个学生的成绩提高2分,如果分数大于100就等于100
UPDATE result SET studentResult=100
WHERE studentResult>100;

#在查询新增一列(常量列)
SELECT s.gradied1,‘北大青鸟’ AS ‘地址’ FROM student1 s;

#求平均分,总数,总和,最大值,最小值
SELECT AVG(r.studentResult) AS 平均分,
COUNT(r.studentResult) AS 总记录数,
SUM(r.studentResult) AS 总和,
MAX(r.studentResult) AS 最大值,
MIN(r.studentResult) AS 最小值
FROM result r;

#时间函数
SELECT ADDDATE(NOW(),-5);
SELECT YEAR(NOW());

#删除性别为女,年级编号为1的学生信息
DELETE FROM beifen WHERE sex=‘女’ AND gradied1=1;

#把成绩都降低10%后加5分,再查询及格成绩,并按照成绩从高到低排序
SELECT studentNo AS 学生编号,(studentResult*0.9+5 ) AS 综合成绩
FROM result
WHERE (studentResult*0.9+5) >=60
ORDER BY studentResult DESC;

#每页显示4条数据
SELECT * FROM student1 LIMIT 4;

#将学生表中为1002的学生的邮箱修改为 stu1002@163.com,密码改为000
UPDATE student1 SET email=‘stu1002@163.com’,loginPwd=‘000’
WHERE studentNo=1002;
#将科目表中课时数大于50且年纪编号为2的科目的课时减少10
UPDATE subject SET classHour=classHour-10
WHERE classHour>50 AND gradeID=2;
#将所有年纪编号为1的学员姓名,性别,出生日期,手机号码信息存到新表student_grade1中
CREATE TABLE student_grade1(
SELECT studentName,sex,bronCade,phone
FROM student1
WHERE gradied1=1
);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值