MySQL之旅_Day02

来源:互联网 发布:淘宝代刷信誉是真的吗 编辑:程序博客网 时间:2024/06/17 20:39

今天继续学习MySQL入门知识,不过改成在mac下开发

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


MySQL入门

编码环境:OS X 10.10.1 | MySQL5.5.38 | mac终端


1、 MySql配置文件my.cnf(windows下是my.ini)

以my.ini为例:

客户端

默认端口:

[client]

port=3306

默认编码方式:

[mysql]

default-character-set=utf8


服务器端:

[mysqld]

port=3306

basedir='mysql安装目录'

character-set-server=utf8


default-storage-engine=INNODB   //默认存储引擎,5.6之后都是INNODB


查看编码方式:show create database db_name;

首先,创建一个数据库test1:create database if not exists test1;

show create database test1;


可以看到,数据库test1默认的编码是latin1,需要改成utf8。


修改编码方式:alter database test1 default character set 'utf8';

修改成功后再查看编码,可以看到已经改成了utf8,注意不是utf-8



2、 MySQL语言分类

①DDL(数据定义语言):用于定义/修改/删除数据库或者数据表的数据结构,不操作数据本身,不需要COMMIT

   CREATE  创建数据库/数据表

   ALTER  修改数据结构

   DROP  删除

   TRUNCATE TABLE彻底清空表

   COMMENT  注释

   RENAME 重命名

②DML(数据操作语言):对数据进行操作,需要COMMIT

   SELECT  查询数据

   INSERT  插入数据

   UDATE  更新数据

   DELETE  删除数据

   MERGE  合并数据(插入/更新/删除)

   CALL 

   EXPLAN PLAN  索引

   LOCK TABLE  锁


③DCL(数据控制语言):向用户授权或者取消授权

   GRANT 授权

   REVOKE 取消授权

④TCL(事务控制语言):对事务进行管理

   COMMIT  保存已完成事务动作结果

   SAVEPOINT 设置保存点

   ROLLBACK 回滚

   SET TRANSATION  设置事务选项

3、 创建数据表的语法结构

CREATE TABLE IF NOT EXISTS tb_name(

字段名称 合适的数据类型 [字段属性 | 约束];

)


4、 mysql数据类型

整型:

tinyint:-128~127, 0~255

smalint

mediumint

int


浮点类型:

float(M, D):M表示总位数,D表示小数点后几位


日期时间类型:

用整型保存时间戳


字符串型:

char(M):定长字符串255(效率高,占用空间大)

varchar(M):变长字符串0~65535(效率低,占用空间小)

text:存大量文本

mediumtext:存大量文本


枚举类型:

enum(值1, 值2...):最多列举65535个值,只能从列举的值中选一个。

CREATE TABLE IF NOT EXISTS tb_1(

sex enum('男', '女', '保密');

)


创建表成功后,可以通过SHOW COLUMNS FROM tb_name; 或者 DESC tb_name; 查看表结构:



5、 mysql约束

unsigned:无符号

zerofill:零填充(没什么用)

not null:非空约束,插入时一定要给字段赋值

default:给字段默认值,一般跟not null 配合使用

primary key:主键约束,自动为非空,具有唯一性,可以快速搜索定位某条记录,一般定义到编号上。主键是索引,每个表都有且只有一个主键。

auto_increment:自动增长,只能标志在数值列,只能标志在主键。有自动增长的一定是主键,但是主键不一定有自动增长。自动增长时会在已有的最大值+1

unique key:唯一约束,被定义唯一约束的字段值不能重复


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

END:简单介绍了MySQL配置文件,MySQL语言分类和创建数据表的语法结构,包括数据类型和约束。


0 0