1. 使用Windows dos 登录mysql命令:
Mysql -u 用户名 -p密码
(-p与密码之间没有空格,使用该命令之前要把mysql的bin路径添加到环境变量path)
2. 创建数据库 create database 数据库名
3. 查看创建数据库的指令 show create database 数据库名
4. 显示数据库: show databases;
5. 删除数据库: drop database 数据库名
6. 指定使用某个数据库:use 数据库名
7. 备份数据库的数据:mysqldump -u 用户名 -p密码 数据库名 > 存放路径 (该指令需要在dos控制台执行)
8. 恢复数据库:
(1)创建一个数据库
(2)use 数据库
(3)Source 路径/文件命名.sql (在mysql控制台执行)
9. mysql自带的client默认支持utf-8,所以在添加中文时需要设置:
show variables like ‘char%’; //显示关于字符的设置参数
set character_set_client=gbk; //可以存中文
set character_set_result=gbk; //可以看中文
MySQL数据类型:
1. 数值类型
(1) bit(m) m默认为1 最大为64,如果m被省略默认为1
(2) Tinyint [unsigned] 一个字节,默认为有符号 -128~127;tinyint unsigned 为无符号0~255
(3) Smallint [unsigned] 两个字节,有符号负的2的16次到2的16次-1,无符号范围0~2的16次-1
(4) int
(5) bigint
(6) Float[(M,D)] [unsigned],4个字节 m表示有效位,d表示小数位数
(7) Double,8个字节
(8) Decimal(m,d) numeric(m,d),变长,用于表示小数或整数
Create table test1 (nem numeric); //整数
Create table test1 (nem numeric(5,2)); //两位小数
2. 文本类型或二进制
(1) Char(m) 定长,m个字节 0<=m<=255
(2) Varchar
(3) Blob,text
(4) binary(M) M个字节,0<=M<=255
3. 日期类型
(1) date 日期型(年-月-日),只保存年月日
(2) datetime 日期时间类型
(3) timestamp 邮戳类型,该类型可以保存年-月-日:时:分:秒,和datetime的区别是当update某条数据发时候会自动更新
修改表的结构:
1. 添加新的列: alter table 表名 add 列明 数据类型
2. 修改列(类型、大小)alter table 表名 modify 列名 数据类型
3. 修改列名:alter table 表名 change column 列名 新列名 数据类型
4. 删除某lie:alter table 表名 drop 列名
5. 修改表名: rename table 原表名 to 新表名
6. 修改表字符集:alter table 表名 character set 字符集名称
1. mysql控制台默认自动提交事务
2. 如果在控制台使用事务要先set autocommit=false; savepoint 保存点; //.... rollback to 保存点;
函数:
1. select current_date() from dual; //返回当前日期
2. select current_time() from dual; //返回当前时间
3. 查询两小时内的数据,select * from message where date_add(publishdate, interval 2 hours)>=now();
date_add(日期/date/datetime/timestamp, interval 数 type);
表的约束:
1. 外键:constrain 名 foreign key(从表的列) references 主表名(主表的列);
mysql的外键要用表级定义
2. 分页
select * from 表名 where条件[group by .....having.....order by ...] limit (pageNow-1)*pageSize, pageSize;