MySQL入门学习
Vivian 2018-06-12 来源 : 阅读 1217 评论 0

摘要:本文主要向大家介绍了MySQL的入门学习,通过具体的实例让大家了解,希望对大家学习MySQL有所帮助。

本文主要向大家介绍了MySQL的入门学习,通过具体的实例让大家了解,希望对大家学习MySQL有所帮助。

背景

学校数据库课程的相关实践使用的是达梦数据库,而实际上,MySQL作为一款性能极佳的轻量级数据库,使用范围极广,非常流行。另外,最近准备和同学一起做一个linux下即时通讯软件,数据库选用MySQL。
综上,决定学一下MySQL。

特点

多用户,多线程 由一个服务器守护程序mysqld和许多不同的客户程序和库组成 快速、易用、健壮 windows下不区分大小写,linux下表名区分大小写(?)

基本操作

数据库操作

创建数据库: create database [if not exists] xxx;( […] 避免创建已经存在的数据库的错误) 显示数据库: show databases [like “%xxx%xx”]; 选用数据: use xxx; 删除数据库: drop database [if exists] xxx;([..] 不存在也不会报错)

数据库表操作

显示数据库表信息:show/describe

 

show tables [from db_name] [like wild]

show columns from tbl_name [from db_name] [like wild]

show index from tbl_name [from db_name]

show table status [from db_name] [like  wild]

{describe| desc} tbl_name {col_name | wild}

   

插入


insert [into] tbl_name [(col_name,...)] VALUES (pression,...)

insert [into] tbl_name SET col_name=expression

   

insert可以进行多行插入: insert xxx VALUES (…),(…),(…);
insert into … select语句满足下列条件:
1.查询不能包含一个order by子句
2.insert语句的目的表不能出现在select查询部分的from子句
3. 其余如update、delete等不赘述。

数据类型

数值类型

整数: 常用的为int类型,允许范围在(-2147483648,2147483648) 浮点数:常用的有float,double和decimal类型。允许指定精确度(有效数字个数)和计数方法(小数点后数字个数)

字符串

char,varchar,text和blob类型

日期时间类型

运算符

比较运算:默认情况下,比较是不区分大小写的。我们可以用binary关键字来执行区分大小写的运算

函数

数学函数


1.ABS(x);//返回x的绝对值

2.ACOS(x);//返回x(弧度)的反余弦值

3.ASIN(x);//返回x(弧度)的反正弦值

4.ATAN(x);//返回x(弧度)的反正切值

5.CEILING(x);//返回大于x的最小整数值

6.COS(x);//返回x(弧度)的余弦值

7.COT(x);//返回x(弧度)的余切

8.DEGREES(x);//返回弧度值x转化为角度的结果

9.EXP(x);//返回值e(自然对数的底)的x次方

10.FLOOR(x);//返回小于x的最大整数值

11.GREATEST(x1,x2,x3...);//返回集合中最大的值

12.LEAST(x1,x2,x3,,,);//返回集合中最小的值

13.LN(x);//返回x的自然对数

14.LOG(x,y);//返回x的以y为底的对数

15.MOD(x,y);//返回x/y的模(余数)

16.PI();//返回pi的值(圆周率)

17.POW(x,y)或者POWER(x,y);//返回x的y次幂

18.RAND();//返回0到1内的随机数

19.RADIANS(x);//返回角度x转化为弧度的结果

20.ROUND(x,y);//返回参数x的四舍五入的有y位小数的值

21.SIGN(x);//返回代表数字x的符号的值

22.SQRT(x);//返回x的开方

23.SIN(x);//返回x(弧度)的正弦值

24.TAN(x);返回x(弧度)的正切值

25.TRUNCATE(x,y);//返回数字x截短为y位小数的结果

   

字符串函数

length()函数: 获得一个字符串的长度 trim(): 去首尾空格(可设参数选择leading等) concat(): 连接成字符串

日期时间函数

now()、curdate()、curtime()、week()等

加解密函数


1.AES_ENCRYPT(str,key);//返回使用密钥key对字符串str利用高级加密标准算法加密后的结果

2.AES_DECRYPT(str,key);    //返回使用密钥key对字符串str利用高级加密标准算法解密后的结果

3.DECODE(str,key);//使用key作为密钥解密加密字符串str

4.ENCRYPT(str,salt);//使用UNIX crypt()函数,用关键词salt加密字符串str

5.ENCODE(str,key);//使用key作为密钥加密字符串str

6.MD5();//计算字符串str的MD5校验和

7.PASSWORD(str);//返回字符串str的加密版本

8.SHA();//计算字符串str的安全散列算法(SHA)校验和

   

控制流函数


1.case where[test1] then[result1] ... else[defalut] end;//如果testN为真,则返回resultN,否则返回default

2.case[test] where[val1] then[result1]...else[default] end;//如果test和valN为真,则返回resultN,否则返回default

3.if(test,t,f);//如果test为真,返回t,否则返回f

4.ifnull(arg1,arg2);//如果arg1不是空,返回arg1,否则返回arg2

5.nullif(arg1,arg2);//如果arg1=arg2返回null,否则返回arg1

   

格式化函数


1.date_format(date,fmt);//依照字符串fmt格式化日期date的值

2.format(x,y);//把x格式化为以逗号隔开的数字序列,y是结果的小数位数

3.inet_aton(ip);//返回ip地址的数字表示

4.inet_ntoa(num);//返回数字所代表的ip地址

5.time_format(time,fmt);//依照字符串fmt格式化时间time值

   

数据转换函数

cast : 例——select 1+cast('99' as signed);//结果为100

系统信息函数">系统信息函数

1.database();//返回当前数据库名称

2.benchmark(count,expr);//将表达式expr重复运行count次

3.connection_id();//返回当前客户的连接id

4.found_rows();//将最后一个select查询(没有以limit进行限制结果)返回的记录行数返回

5.get_lock(str,dur);//获取一个由字符串str命名的并且有dur秒延时的锁定

6.is_free_lock(str);//检查以str命名的锁定是否释放

7.last_insert_id();//返回由该系统自动产生的最后一个auto increment id的值

8.master_pos_wait(log,pos,dur);//锁定主服务器dur秒直到从服务器与主服务器的日志log指定的位置pos同步

9.release_lock(str);//释放由字符串str命名的锁定

10.user()/system_user();//返回当前登录用户名

11.version();//返回MySQL服务器的版本

   

控制事物行为

MySQL提供了两个变量来控制事务行为:autocommit变量和transaction isolation level变量。
自动提交,默认情况下,MySQL的sql查询一旦被执行,就会自动向数据库提交结果。这种默认的行为可以通过特定的 autocommit变量来进行修改。设置set autocommit=0,随后表的更新将不会被保存,直到明确发出一个commit命令。
事务孤立级,MySQL默认为repeatable read孤立级,可以使用set来修改。

临时表

create temporary table(只针对单一的MySQL会话 过程而存在的,保存在内存中)

调整服务器设置

调整服务器变量,key_buffer_size变量控制MySQL索引缓冲可以使用内存的数量。值越高,索引可以使用的内存越多,性能越好。 一般情况,这个值保持在可使用内存总量的25%到30%。table_cache变量控制表高速缓存可以使用内存的数量,以及在同一时间 内MySQL可以处理表的打开总量。对于有很多数据库和表的非常忙的服务器来说,应该增加这个值,使用set修改。

以上就介绍了MySQL的相关知识,希望对MySQL有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库MySQL频道!

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程