这周我学习了Mysql的操作语句,自己稍微总结了一下。
1.#:注释符合
2.新建数据库
(1)新建数据库
CREATE DATABASE myschool;
(2)先判断数据库是否存在再去新建
CREATE DATABASE IF NOT EXISTS myschool;
3.切换数据库
USE myschool;
4.查看所有数据库:系统数据库+用户数据库
SHOW DATABASES;
5.删除数据库
DROP DATABASE myschool;
DROP DATABASE IF NOT EXISTS myschool
;
6.mysql两种相近的符合
(1).’’:单引号,将除数字以外的数据括起来
(2).“:斜撇,用来表示物理名称 数据库名,表面,列名
7.新建一张表
CREATE TABLE test
(
id INT PRIMARY KEY AUTO_INCREMENT,
name
VARCHAR(10) NOT NULL,
age INT(4) UNIQUE KEY
)
ps:PRIMARY KEY:主键约束 唯一非空
NOT NULL:非空约束
UNIQUE KEY:唯一约束
AUTO_INCREMENT:自动增长
8.修改表的结构: alter table
ALTER TABLE student RENAME TO studentinfo;
9.修改实例
(1)给学生表添加年龄字段 ps:如果表当中已经有了数据,不可以设置not null
ALTER TABLE student ADD age INT NOT NULL;
(2)修改学生姓名这列的设置
ALTER TABLE student CHANGE studentname name
VARCHAR(60);
(3)删除学生表中的身份证列
ALTER TABLE student DROP identityCard;
(4)设置gradeid设为主键
ALTER TABLE grade ADD CONSTRAINT pk_grade
PRIMARY KEY grade(gradeid);
(5)设置外键 主表:年级表 从表:学生表
ALTER TABLE student ADD CONSTRAINT fk_student_grade
FOREIGN KEY(gradeid) REFERENCES grade(gradeid);
10.替换字符串:注意下标从1开始
SELECT INSERT(‘这是Sql数据库’,3,3,‘mysql’);
11.日期函数
(1)获取系统时间 年月日
SELECT CURDATE();
(2)获取系统时间 时分秒
SELECT CURTIME();
(3)获取系统完整时间 年月日 时分秒
SELECT NOW();
(4)计算时间是一年当中的第几周
SELECT WEEK(NOW());
(5)计算两个日期之间的天数差
SELECT DATEDIFF(NOW(),‘2020-7-24’);
(6)日期推算
SELECT ADDDATE(NOW(),-100);
12.取整
(1) 向上取整
SELECT CEIL(2.00);
(2) 向下取整
SELECT FLOOR(2.99999999);
(3)随机数
SELECT RAND();
13.返回固定行数 limit a,b a:下标 从0开始 b:行数
SELECT * FROM student LIMIT 0,3;
14.插入数据
SELECT * FROM result;
INSERT INTO result VALUES(1001,1,NOW(),88,1),(1004,1,NOW(),76,2),
(1001,1,NOW(),74,3),(1002,1,NOW(),100,4),(1003,1,NOW(),94,5),
(1001,1,NOW(),10,6);
15.插入举例
(1)查询成绩最高的三名学生的成绩信息
SELECT * FROM result ORDER BY studentresult DESC LIMIT 3;
(2)查询所有S1的学生信息
SELECT * FROM student s WHERE s.gradeid
=
(SELECT G.gradeID
FROM grade g WHERE g.gradeName
=‘S1’);
(3)查询所有S1和S2的学生信息
SELECT * FROM student s WHERE s.gradeid
IN
(SELECT G.gradeID
FROM grade g WHERE g.gradeName
=‘S1’ OR g.gradeName
=‘S2’);
ps:=和in的区别: =只可以接收单个返回值 in:接收一组数据 并且和这些数据进行一一匹配
(4) 查找除Y3以外的学生
SELECT * FROM student s WHERE s.gradeid
NOT IN
(SELECT G.gradeID
FROM grade g WHERE g.gradeName
=‘Y3’ );
本文地址:https://blog.csdn.net/weixin_48227004/article/details/107138399