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语言分类和创建数据表的语法结构,包括数据类型和约束。
- MySQL之旅_Day02
- MySQL两种安装方式之01_day02
- MySQL两种安装方式02(绿色安装)_day02
- 黑马程序员_day02 语句。
- 自定义控件_day02
- java基础语法_day02
- struts2笔记_day02
- Java基础_Day02
- java并发学习_day02
- JAVA学习_day02
- 毕业设计_问题总结_Day02
- 某坑爹公司的笔记_Day02
- 黑马程序员--Oracle学习_day02
- HTML5学习_day02(1)--css高级选择器
- HTML5学习_day02(2)--css层次选择器
- MySQL之旅_Day01
- MySQL之旅_Day03
- MySQL之旅_Day04
- ExecutorCompletionService
- centos升级yum源
- JS兼用IE的通过class名获取CSS对象组
- CSS样式定义
- Android Drawable 自定义(圆角图片和圆形图片)
- MySQL之旅_Day02
- Android 蓝牙BLE 4.0 属性判断
- Animation 笔记
- VMware识别虚拟磁盘出错的解决
- Ant 多渠到混淆打包
- spring各个jar包的作用
- android handler弱引用,防止内存泄露
- 疯狂XML学习笔记(3)-----------XML与DTD
- 使用非常简单的20个小技巧,你一定要学会哦