基于mysql数据库的基础知识三

函数

字符函数

CONCAT('字符连接','sssgddhdhd','vdsvsdss');

CONCAT_WS('分隔符|','aaaa','bbbbb','ccccc');

FORMAT(1224445.54,0);  //数字格式化

LOWER();   //转换成小写

UPPER();   //转换成大写

LEFT();    //获取左侧字符

RIGHT();

················

LENGTH();   //获取长度

LTRIM();   //删除前导空格

RTRIIM();   //后导

TRIM();     中间空格

 

REPLACE('??MY??SQL???','??','!!');

SUBSTRING('MYSQL',12);     //负值的话就会倒过来去

%代表任意个字符

_代表任意一个字符

 

数值运算符

CEIL(3.01);    //

FLOOR(3.01);

DIV

MOD

POWER(3,3)   幂运算

ROUND(3.45552)

TRUNCATE(2132.456462)  数值截取 

[NOT]BETWEEN...AND...  在什么之间

[NOT] IN()   在列值内      

IS[NOT] NULL   不为空

 

日期时间函数

NOW()

CURDATE()

CURTIME()

DATE_ADD('2014-3-12',INTERVAL 365 DAY);  日期的变化

DATEDIFF('2013-3-12','2014-3-12');

DATE_FORMAT('2014-3-12','%m/%d/%y');

信息函数

CONNCETTION_ID()

DATEBASE()

LAST_INSERT_ID()  最后插入的记录

USER()

VERSION()

聚合函数

AVG()

SELECT ROUND(AVG(goods_price),2) AS avg_price FROMtdb_goods;

COUNT()

MAX()

MIN()

SUM()

 

加密函数 

MD5()       信息摘要

PASSWORD()   密码算法

··········································

 

自定义函数UDF

两个必要条件  参数,返回值

可以接受,返回任意类型的参数或值

语法:

CREATE FUNCTION function_name RETURN  函数体

函数体

1sql语句

2、简单的SELECTinsert

3、声明、循环、控制

SELECT DATE_FORMAT(NOW(),%Y%m%d %H点:%i分:%s);

如:

CREATE FUNCTIONS VARCHAR(30)

RETURN DATE_FORMAT(NOW(),%Y%m%d %H点:%i分:%s);

带有参数的自定义函数

CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINTUNSIGNED)

RETURN FLOAT(10,2) UNSIGNED

RETURN (num1+num2)/2;

具有复合结构的函数      DELIMITER//   修改分界符

 

CREATE FUNCTION adduser(username VARCHAR(20))

RETURN INT UNSIGNED

BEGIN

INSERT test(uesrname) VALUES(username);

RETURN LAST_INSERT_ID();

END

删除函数

DROP FUNCTION name;

·······························

存储过程

 

sql语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理

优点

增强sql语句的功能和灵活性

实现较快的运行速度

较少运行流量

·············

语法结构分析

过程体

·············

通过CALL来调用

创建

CREATE PROCEDURE sp1() SELECT VERSION();

procedure

调用存储过程

CALL sp_name();

 

创建带有IN类型的存储过程

CREATE PROCEDURE removeUserById(IN id INT UNSIGNED)

BEGIN

DELETE FROM users WHERE id=id;

END

创建带有INout类型的存储过程

CREATE PROCEDURE removeUserAndReturnUserNums(IN UNSIGNED,OUTuserNums INT UNSIGNED)

DEGIN

DELETE FROM users FROM users WHERE id=p_id;

SELECT count(id) FROM users INTO userNums;

END

创建带有多个out类型的存储过程

CREATE PROCEDURE removeUserByAgeAndReturnInfos(IN p_age SMALLINTUNSIGNED,OUT deleteUser SMALLINT UNSIGNED,OUT userCounts SMALLINTUNSIGNED)

BEGIN

DELETE FROM user WHERE age = p_age;

SELECT ROW_COUNT() INTO deleteUsers;

SELECT COUNT(id) INTO userCounts;

END

删除存储过程

DROP PROCEDURE  ·····

········································

 

存储引擎

MySQL将以不同的技术存储在文件内存中,这种技术就称为存储引擎

MySQL支持的存储引擎

MyISAM  InnoDB  Memory CSV   Archive 

存储引擎的特点············

设置、修改存储引擎的方法

通过修改MySQL配置文件实现

-default-storage-engine = engine

通过创建数据表命令实现

CREATE TABLE tp1(

s1 VARCHAR(10))

ENGINE = MyISAM;

/////////////

ALTER TABLE tp1 ENGINE = InnoDB


并发控制  保证数据的一致性和完整性

由共享锁(读锁)  排它锁(写锁)完成



锁颗粒

--表锁 是一种开销最小的锁策略

--行锁 是一种开销最大的锁策略


事务处理

事务用于处理保障数据库的完整性

特性  原子性 一致性   隔离性

 

外键

索引

是对数据表中一列或多列的值进行排序

····································

 

数据库的管理工具

PHPMyAdmin

Navicat

MySQL Workbench

PHPMyAdmin

去官网了解,要支持相对应的版本

Navicat

 

1、连接数据库··········

MySQL Workbench

 

三大数据库:
          1、甲骨文        oracel
          2IBM             DB2
          3Microsoft    SQL
SQLServer 是发展最快的关系数据库
SQLServer MicrosoftWindows 平台上最流行的关系数据库,占 38% 的市场份额。
SQLServer 是最流行的 Web 数据库,市场份额为 68%。在 SQL Server 上运行的应用程序超过了2000 个。
三大数据库中,SQLServer 拥有成本最低

 

1、基本步骤

2、面向对象的分析,设计技巧

3、用实例驱动,以框架结构为核心的主流开发方法

你可能感兴趣的:(MySQL)