微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

温故而知新——MYSQL基本操作

相关连接:

MysqLsqlserver的区别:https://www.cnblogs.com/vic-tory/p/12760197.html

sqlserver基本操作:https://www.cnblogs.com/vic-tory/p/12760871.html

一.创建数据库

CREATE DATABASE IF NOT EXISTS student;

DROP DATABASE `student`;

二.表

TABLE EXISTS `user`(
   userId int PRIMARY KEY AUTO_INCREMENT,userName varchar(20) NOT NULL,userSex char(1) CHECK(userSex='' OR userSex'),#MysqL不支持检查约束
   createTime timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP20) UNIQUE
  );

TABLE company (`companyId` KEY AUTO_INCREMENT,`companyName` );

ALTER TABLE `user` ADD `userAge` int COMMENT 用户年龄; #添加字段

user` MODIFY COLUMN `userAge` int  NULL COMMENT ; #修改字段

COLUMN `userAge`; #删除字段

ADD CONSTRAINT FK_userId_companyId FOREIGN KEY (`companyId`) REFERENCES `company`(`companyId`);

DESC ``;

user`;

 三.添加

INSERT INTO `SET `userName`Robin',`userSex`123456789=18;
user`(`userName`,`userSex`,`userPhone`,`userAge`,`createTime`) VALUES (123456182019-04-06);
SELECT * FROM `#user`;#一般用于表的数据添加到主表

四.查询

SELECT MAX(`createTime`),1)">MIN(`createTime`),1)">COUNT(*) AS count,1)">AVG(`userAge`),1)">SUM(`userAge`),userId,userName
FROM `` 
WHERE  `userSex` ' 
GROUP BY `userSex`,`userId`,`userName`
HAVING MIN(`createTime`)>2019-04-05'
ORDER BY `userId` DESC /*ASC*/ ;

WHERE `userId` IN NOT IN*/(SELECT `userId` `);

user` LIMIT 0,1;

WHERE  EXISTS NOT EXISTSFROM  `WHERE `userId`3'); # 返回TRUE 或者FALSE

user` u  LEFT JOIN  INNER JOIN,LEFT OUTER JOIN,RIGHT OUTER JOIN,RIGHT JOIN,CROSS JOIN*/ `company` c ON u.companyId=c.companyId ;

UNION UNION ALL*/ SELECT disTINCT `userName`,`userSex` user`;

五.更新

UPDATE `SET `userAge`20 user` u JOIN `company` c c.companyId
SET c.companyNameBCDRoBinWHERE u.userId1'

六.删除

DELETE TruncATE `user`;

七.视图

VIEW v_user_company AS
SELECT userId,c.companyId AS u JOIN `company` AS c 
ON  u.companyIdFROM v_user_company;

AS EXISTS v_user_company;

八.存储过程

PROCEDURE sp_user_company(
  IN inPara intara ara 
  )
  BEGIN
   DECLARE count  ;
   INTO `;
   SET outParacount;
   SET inOutPara;
  END;

#SET @outPara0; #可省略
#@inOutPara;
CALL sp_user_company(1,@outPara,1)">@inOutPara);
;
@outPara;

#MysqL 不提供存储过程中的代码修改

PROCEDURE `sp_user_company`;

九.事务

SHOW GLOBAL VARIABLES LIKE autocommitSET GLOBAL AUTOCOMMIT;

START TRANSACTIONROLLBACKCOMMIT;

十.自定义函数

FUNCTION fn_user_company() RETURNS int
BEGIN
 ;
`;
RETURN SELECT fn_user_company();

FUNCTION fn_user_company1(int) BEGIN
 ;


SELECT fn_user_company1();

SHOW FUNCTION `fn_user_company`;

#函数不能内部的内容

FUNCTION `fn_user_company`;

十一.游标

 `sp_logic`()
  BEGIN 
  DECLARE stuId DECLARE stuName CHaraCTER SET UTF8;
  DECLARE done DEFAULT DECLARE myCursor CURSOR FOR  `;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET doneOPEN myCursor;
  SET total;
  c:LOOP
    FETCH myCursor INTO stuId,stuName;
    IF done1 THEN
      LEAVE c;
    END IF ;
    SET total =total+;
     LOOP; 
  CLOSE total;              
  END;

十二.常用函数

数值型函数

 

字符串函数

 

 日期和时间函

 

 聚合函数和流程控制函数

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐