连接数据库(以root用户为例)

mysql -u root -p      //连接本地数据库
grant all privileges on *.* to 'root'@'%' with grant option;      //对root用户进行授权
flush privileges;      //更新权限
mysql -h 0.0.0.0 -p 3306 -u root -p      //远程连接数据库(未修改默认端口可以去掉"-p 3306")

操作数据库

创建数据库

create database [IF NOT EXISTS] Datebase_name;

数据库列类型

数值

数据类型描述大小
tinyint十分小的数据1个字节
smallint较小的数据2个字节
mediumint中等大小的数据3个字节
int标准的整数4个字节
bigint较大的数据8个字节
float浮点数4个字节
double浮点数8个字节
decimal字符串形式的浮点数,一般用于金融计算

字符串

数据类型描述大小
char固定大小字符串0~255
varchar可变字符串0~65535
tinytext微型文本2^8-1
text文本串2^16-1

时间日期

数据类型描述格式
date日期格式YYYY-MM-DD
time时间格式HH:mm:ss
datetime常用时间格式YYYY-MM-DD HH:mm:ss
timestamp时间戳,1970.1.1到现在的毫秒数
year年份

数据库的字段属性

UnSigned

  • 无符号的
  • 声明了该列不能为负数

ZEROFILL

  • 0填充的
  • 不足位数的用0来填充 , 如int(3),5则为005

Auto_InCrement

  • 通常理解为自增,自动在上一条记录的基础上默认+1
  • 通常用来设计唯一的主键,必须是整数类型
  • 可定义起始值和步长
    • 当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
    • SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)

NULL和NOT NULL

  • 默认为NULL , 即没有插入该列的数值
  • 如果设置为NOT NULL , 则该列必须有值

DEFAULT

  • 默认的
  • 用于设置默认值
  • 例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值

每一个表,都必须存在以下五个字段:

名称描述
id主键
version乐观锁
is_delete伪删除
gmt_create创建时间
gmt_update修改时间

悲观锁

悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是一种并发控制的方法。悲观并发控制主要用于数据争用激烈的环境,以及发生并发冲突时使用锁保护数据的成本要低于回滚事务的成本的环境中。
悲观锁对外界修改数据的请求持保守态度,因此在整个数据处理过程中,数据将处于锁定状态。

乐观锁

乐观锁是相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。

多数材料参考自:http://t.csdn.cn/V35CE