Mysql 基础

Mysql
基础


开发工具与关键技术:SQLyog Mysql

作者:萧氏萧然

撰写时间:2021年4月 26日

ORDER BY 条件 ASC 正序排列

ORDER BY 条件 DESC 倒序排列

NOW() 当前时间

LIMIT N,N 设定返回记录数
单个代表前N个 N,N(开始索引,结束索引)

新增修改值时 按 数据类型判断是否加上’'或""。

//表名1.A=表名2.B 两张表相对应相同值的属性名(外键,主键)

查询:

单表(1)

SELECT 表内列名 FROM 表名

多表(2)

SELECT 表名.列名 FROM 表名1,表名2,表名N

模糊(3)

SELECT 同上 FROM 表名 WHERE 列名 LIKE ‘%值%’

内联(4)

SELECT 表名.列名 FROM 表名1 INNER JOIN 表名2 ON 表名1.A=表名2.B |
获取两个表中字段匹配关系的记录

左联接(5)

SELECT 表名.列名 FROM 表名1 LEFT JOIN 表名2 ON 表名1.A=表名2.B |
获取左表所有记录,即使右表没有对应匹配的记录

右连接(6)

SELECT 表名.列名 FROM 表名1 RIGHT JOIN 表名2 ON 表名1.A=表名2.B |与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的 记录

数据条数(7)

SELECT COUNT(列名) FROM 表名 WHERE 条件 |查看该数据

在列明中使用列的别名(8)

SELECT 列名 AS 新列名 FROM 表名 WHERE 条件 |查询出的列名为新列名,条件不可用新列名作为条件

计算合并得到新的表名(9)

SELECT 列名1+列名2 AS 新列名 FROM 表名 |查询出的列名为新列名且值为两者相加
( 先转int再计算再转字符串,非数任意类型相加值)

查询空值(10)

SELECT 列名 FROM 表名 WHERE 列名A IS NULL |查询列名A为NULL的值,列名和列名A相同时查询结果所有参数为NULL

插入:

单条数据:INSERT
INTO 表名(字段名列表1,字段名列表2,字段名列表N) VALUE (值)

多条插入:INSERT
INTO 表名字段名列表VALUES (值列表1),(值列表2),(值列表3)

修改:

UPDATE 表名 SET 要修改的键=要修改的值 WHERE 条件

删除:

DELETE FROM 表名 WHERE 条件

条件:

WHERE AND OR

|||||||||||||||||||||||||||||||||||||||||||||

显示已有数据库 SHOW DATABASES

创建数据库 CREATE DATABASE 数据库名

删除数据库 DROP DATABASE 数据库名

删除表 DROP TABLE 表名 |有外键约束的表无法直接删除,要先删除被约束的表,再删除本表

drop table table_name 立刻释放磁盘空间 ,不管是 InnoDB 和 MyISAM;drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)、索引(index); 依赖于该表的存储过程/函数将保留,但是变为 invalid 状态 即无效状态

创建 表:(以下这段可复制)

CREATE TABLE grand(

#创建 列名 id 数据类型 int 非空
作为表记录的唯一标识

id INT(4) NOT NULL PRIMARY
KEY AUTO_INCREMENT,

name VARCHAR(5)

)

#设置自增

AUTO_INCREMENT=5;

SET
@@auto_increment_increment=5;

#向表中添加信息 这里给定ID比较好 不然被约束表容易出错(注意:已经出现过的id索引没有彻底清除会往下自增)

INSERT INTO
grand(id,name) VALUES (1,‘大一’),(2,‘大二’),(3,‘大三’),(4,‘大四’);

#创建学生表

CREATE TABLE student (

id INT (4) PRIMARY KEY,

name VARCHAR (4) NOT NULL,

sex VARCHAR (2) DEFAULT ‘男’,

phone VARCHAR (11) NOT NULL,

address VARCHAR (100) NOT NULL,

Email VARCHAR (50),

grandid INT (4),

#添加外键约束

CONSTRAINT fk_ID FOREIGN
KEY(grandid)REFERENCES grand (ID)

);

#添加学生信息

INSERT INTO
student(id,name,sex,phone,address,Email,grandid) VALUES

(1001,‘高桥美穗’,‘女’,‘13576154066’,‘日本东京’,NULL,1),

(1102,‘铃木真一’,‘男’,‘13576154067’,‘日本大阪’,NULL,2),

(1003,‘王宇翔’,‘男’,‘13576154168’,‘中国上海’,NULL,3),

(1004,‘赵媛媛’,‘女’,‘13576154069’,‘中国北京’,NULL,4)

外键约束,student
表ID存在数值,新增student 表时 grandid 要有对应的student.id值才能新增成功

否则受到约束影响无法新增新的不存在的 student.grandid值为student.id的数据

常用函数

1.聚合函数

(1)AVG(平均值):select avg(列名)from
表名

(2)count()返回某字段的行数

(3)max()返回某字段的最大数

(4)min()返回某字段的最小值

(5)sun()返回某字段的和

2.字符函数

(1)concat()连接字符串s1,s2…sn为一个完整的字符串。

(2)insert(s1,p1,n,news)将字符串s1从p1位置开始,n个字符长的字串替换为字符串news。

(3)lower(s)将字符串s中的所有字符改为小写。

(4)upper(s)将字符串s中的所有字符改为大写。

(5)substring(s,num,len)返回字符串s的第num个位置开始长度为len的子字符串

3.时间日期函数

(1)获取当前日期:curdate();

(2)获取当前时间:curtime();

(3)获取当前日期和时间:now();

(4)返回日期date为一年中的第几周:week(date);

(5)返回日期date的年份:year(date);

(6)返回时间time的小时值:hour(tome);

(7)返回时间time的分钟值:minute(time);

(8)返回日期参数(date1和date2之间相隔的天数):datediff(date1,date2);

(9)计算日期参数date加上n天后的日期:adddate(date,n);

4.数学函数

(1)返回大于或等于数值x的最小整数:ceil(x);

(2)返回小于或等于数值x的最大整数:floor(x);

(3)返回0~1之间的随机数:rand();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值