【笔记】MySQL基础及高级特性(更新中)
介绍
MySQL属于Oracle公司,是关系型数据库(基于集合代数方法来处理数据)。
基础操作
安装(Ubuntu)
# 服务端
sudo apt-get install mysql-server
# 客户端
sudo apt-get install mysql-client
启动
# 打开mysql服务
sudo service mysql start
# 验证是否安装并启动成功
sudo netstat -tap | grep mysql
# 修改配置文件
sudo gedit /etc/mysql/my.cnf
登录
mysql -u root
基础命令(大写小写都可以,一般为大写)
# 查看数据库
show databases;
# 连接数据库
use information_schema;
# 查看表
show tables;
# 退出(两种方式都可以)
quit;
exit;
# 新建数据库
create database mysql_test;
# 创建数据表
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
# 查询表内容
select * from 表名;
# 插入
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
mysql中的数据类型:
数据类型 | 大小(字节) | 用途 | 格式 |
---|---|---|---|
INT | 4 | 整数 | |
FLOAT | 4 | 单精度浮点数 | |
DOUBLE | 8 | 双精度浮点数 | |
ENUM | -- | 单选,比如性别 | ENUM('a','b','c') |
SET | -- | 多选 | SET('1','2','3') |
DATE | 3 | 日期 | YYYY-MM-DD |
TIME | 3 | 时间点或持续时间 | HH:MM:SS |
YEAR | 1 | 年份值 | YYYY |
CHAR | 0~255 | 定长字符串 | |
VARCHAR | 0~255 | 变长字符串 | |
TEXT | 0~65535 | 长文本数据 |
整数除了 INT 外,还有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。
CHAR 和 VARCHAR 的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用 4 个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。
ENUM 和 SET 的区别: ENUM 类型的数据的值,必须是定义时枚举的值的其中之一,即单选,而 SET 类型的值则可以多选。