MySQL学习笔记
12/23/2015 8:30:42 PM
首先感谢穆课网提供如此优秀的视频学习资源
我安装的版本是’mysql-5.6.28-winx64’,不知道MySQL从什么时候开始,官方下载版本直接就是解压版,记得第一次接触MySQL的时候,那N步走的下一步下一步,也废了相当多的脑细胞。后来总算学会了安装,可惜突然发现用不上。
现在官网下载的MySql安装包是一个zip包,随便找个位置直接解压出来就可以了。
安装过程这里省略。。。
命令学习
- 登陆
mysql uroot p1234; // root为登陆名 1234为密码
mysql uroot p1234 -p3306 -hlocalhost -Ddatabasename //3306端口号, localhost ip地址, databasename 数据库名
- 修改提示符
mysql uroot p1234 --prompt mymysql // 修改提示符为mymysql
mysql>prompt mymysql> // 进入mysql后修改提示符为mymysql>
prompt \u@\h \d // 显示:当前用户 + @ + 服务器名称 + 数据库名称 ps:下方图片第三行最后一个'mysql'是数据库名称
- MySQL常用命令
- 显示当前服务器版本
SELECT VERSION();
- 显示当前日期时间
SELECT NOW();
- 显示当前用户
SELECT USER();
- 列出…()
SHOW {DATABASES | TABLES | SCHEMAS };
- 进入数据库
USE db_name;
- 显示当前使用的数据库
SELECT DATABASE;
- 显示当前服务器版本
- 创建数据库({}为必选项 []为可选项)
- 创建数据库
CREATE {DATABASE | SCHEME} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
- 显示指定数据库创建的时候所使用的指令
SHOW CREATE DATABASE db_name;
- 创建数据库
- 修改数据库
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name
- 删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
数据类型
- 数据类型之整形INT
- 数据类型只浮点型
- 日期类型
- 字符类型
数据表
- 创建数据表
- 创建名为person,拥有name,age,salary字段的数据表,其中UNSIGNED表示不需要负数,都是正整数
CREATE TABLE person(name VARCHAR(20), age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED);
- 创建名为person,拥有name,age,salary字段的数据表,其中UNSIGNED表示不需要负数,都是正整数
- 查看数据表
- 查看数据表是否存在
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr];
- 查看数据表结构
SHOW COLUMNS FROM tbl_name
;
- 查看数据表是否存在
- 插入记录
INSERT [INTO] tbl_name[(column_name,...)] BALUES(value, ...);
- 两种写法:
- 省略(columns_name,…),必须写全部字段
INSERT INTO person VALUES('zhangsan, 20, 3000');
- 不省略(columns_name,…),可以选择性插入部分字段的值
INSERT INTO person (name) VALUES('lisi');
- 省略(columns_name,…),必须写全部字段
- 详见下图:
- 记录查找
SELECT expr,... FROM tbl_name;
- 约束字段
- NULL, NOT NULL
- AUTO_INCREMENT(必须定义为主键)
- PRIMARY KEY
- 主键约束
- 每张数据表只能存在一个主键
- 主键保证记录的唯一性
- 主键自动为NOT NULL
- UNIQUE KEy
- 唯一约束
- 唯一约束可以保证记录的唯一性
- 唯一约束的字段可以为空值(NULL)
- 每张数据表可以存在多个唯一约束
- DEFAULT
- 默认值
- 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值
CREATE TABLE person(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL UNIQUE KEY, sex ENUM('1','2','3') DEFAULT '3');