Mysql常用语法及入门开篇,开发进阶篇系列

2019-12-03 03:43 来源:未知

1. innodb在不同隔离级别下的一致性读及锁的差异
  不同的隔离级别下,innodb处理sql 时采用的一致性读策略和需要的锁是不同的,同时,数据恢复和复制机制的特点,也对一些sql的一致性读策略和锁策略有很大影响。对于许多sql, 隔离级别越高,innodb给记录集的锁就越严格(龙其是使用范围条件的时候),产生的锁冲突的可能性也就越高,对并发性事务处理性能的影响也就越大。因此,在应用中,应该尽量使用较低的隔离级别,减少锁争用。通常使用Read Commited隔离级别就足够了, 对于一些确实需要更高隔离级别的事务,可能在程序中执行 SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ 或SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE 动态来改变隔离级别。 

数据:信息,记录。阅读;

这个问题通常在laravel中表现为类似下边的异常:

  下面重点看下REPEATABLE READ与Read commited 锁申请的不同区别,在增删改查上申请的锁都是一致的,但在事务中锁释放的时间是不一样的这点需要注意。

数据库:数据的仓库,存储许多的数据(信息)。按照数据结构来组件、存储和管理数据的,建立在计算机存储设备上的仓库。

 

SQL

DBMS:   database management System   => 称为: 数据源库管理系统

local.ERROR: SQLSTATE[HY000] [2006] MySQL server has gone away {"exception":"[object] (PDOException(code: 2006): SQLSTATE[HY000] [2006] MySQL server has gone away at...

条件

常用的有:Oracle 、SQLSERVER、DB2 、MySql

 

Read uncommited

MySql(属于Oracle):关系型数据库管理系统。(1996年 MySql AB公司 到2008年被 sun公司 收购)

找到你的my.cnf,在[mysqld]下增加一行

Read commited

MySql特点:

 1 default-authentication-plugin=mysql_native_password 

Repeatable read

  1. ###### 开源,免费(成本低)。

  2. ###### 体积小,简单易学。

  3. ###### 性能好,服务稳定,安全性能高。

  4. ###### 支持性很好。尤其对java、php支持性高。

serializable

常用命令:

Select

  • 启动:mysqld
  • 链接:mysql -uroot -p      /       mysql -u root -p
  • 显示数据库:show databases
  • 打开某个数据库:use [数据库名] ;
  • 显示表:show tables
  • 退出链接:exit  /  quit
  • 停止mysql服务:mysqladmin -u root shutdown (不要打分号)
  • 修改密码:update user set password=password('新密码') where user='root'

 

==============================================================

=

Mysql的图形化工具:mysqlweb、phpadmin、Navicat、SQLyog

None locks

推荐使用:Navicat  ;   特点:简单易学(免费),能链接多种数据库(mysql,Oracle...)

Consisten read/

Navicat链接mysql时,注意:高级里面必须选择编码为UTF-8

None locks

 

Consisten read/

库、表、字段的命名规范:

None locks

  • 匈牙利命名法:用小写字母,并且多个字母用下划线'_'或者'-'链接起来,比较有意义
  • 驼峰命名法:第二个单词字母大写。例如:userInfo

Share locks

例子:创建明星表数据

范围

数据库:db_star

表名:tb_star_info

编号:s_id      姓名:s_name     性别:s_sex     年龄:s_age      身份证:s_card_id       录入时间:s_entrt_time

数据类型:

None locks

  • 数据类型:int
  • 字符类型:char(7):指定长度,不足会补0;varchar(255):超出长度后,会自动增长。
  • 日期类型:date:2018-07-27  ; Time:15:40:30  ; DateTime:2018-07-27 15:40:30。

Consisten read/

 

None locks

约束:

Consisten read/

数据约束:对数据的限制(定义)规则。

None locks

书记类型:简单数据约束

Share next-key

目的:保证数据的完整性(符合逻辑,正确完整)

Update

 

=

完整性分类:

X(排它锁)

  • 域完整性:表中的列(字段)满足特定的数据类型或约束;
  • 实体完整性:指使用主键来标识一个实体;
  • 引用完整性:表与表之间的规则。
  • 自定义完整性(用户自定义的业务规则):对数据表中字段属性的约束。用户自定义完整的规则。

X

约束分类:

X

  • 非空约束(not null):不能为空,必须有值。
  • 唯一约束(unique):不能重复;
  • 主键约束(primary key):非空+唯一组件;
  • 默认值(default):
  • 自增长(auto_increment):int+主键

X

数据类型:int

范围

字符类型:

X next-key

  • char(8):范围:0-255   ,  值8位,不满足8位,在后添加空格
  • Varchar(8):范围:0-655355   。存取的值小于设置值。默认为存储的值的长度。

X next-key

 

X next-key

SQL(Structred Query Language):结构化查询语言

X next-key

作用:

Insert

  1. 处理数据库的计算机语言。
  2.                    建库、表、
  3. 约束:增加、删除、查询数据。
  4.                    ANSI标准

 

SQL分类:

X

  • DML:数据处理语言(增删改数据)
  • DQL:数据查询语言(检索数据)
  • DDL:数据定义语言(创建库、表、约束…)

X

SQL语法规范:不区分大小写的;(规范:全部大写或者全部小写!)字符类型要加’ ’;数字类型:不需要加单引号,直接写值;日期类型:’ ’

输入要英文模式下的,结束语句后要加 ; 

DML:

增加数据:

insert into 表名 values(值1,值2。。。);

指定字段的值:    Insert into 表名(字段1,字段2,字段3…)   values (值1,值2,值3);

修改数据:

update 表 set 字段=值;

update 表 set 字段=值   where    字段=值;

  注意:!!!一定要带上条件;如果没带条件,就代表修改全表数据。

修改多个字段的值的语法:

updata 表 set 字段1=值1,字段2=值2

Where 字段=值;

删除数据:

Delete form 表;(删除全表数据)

Delete from 表 where 条件;

条件:建议使用主键字段(具有唯一性)

注意:!!! 删除数据操作时,一定要加上条件,如果没加代表删除全表数据。

X

TAG标签:
版权声明:本文由澳门金莎娱乐网站发布于数据库,转载请注明出处:Mysql常用语法及入门开篇,开发进阶篇系列