安装数据库、配置环境变量这里就不赘述了。
1、系统命令
net start mysql 开启数据库
net stop mysl 关闭数据库
1.1登录数据库
mysql -h 127.0.0.1 -u root -p password
-u --username=name, 用户名
-h --host=name, 服务器名称
-p --password[=pwd], 密码
-D --database=name, 打开指定数据库
--prompt=name, 设置命令提示符
--delimiter=name,指定分割符
-V --version,输出版本信息
1.2退出数据库
exit
quit
q
ctrl+c
1.3命令提示符
命令提示符常用参数
D 完整的日期
d 当前的数据库
h 服务器名称
U 当前的用户名
mgsql> prompt D`d`h`u
1.5、mysql常用命令
select version(); 显示当前版本
select now(); 显示当前日期时间
select user(); 显示当前用户
1.6 语句规范
关键字和函数全部大写
数据库名称、表名称、字段名称等小写
sql语句必须以分隔符结尾(默认;)
sql语句支持折行操作
数据库名称、表名称、字段名称不要用mysql的保留字,如需要用反引号(‘’)
1.7 数据库相关操作(db_name:表示数据库名称)
1.创建数据库 CREATE DATABASE db_name;
2、查看当前服务器下的数据库 SHOW DATABASES;
3、查看指定数据库定义 SHOW CREATE {DATABASE|SCHEMA}
db_name;
4、创建数据库的编码 CREATE DATABASE db_name IF NO EXISTS DEFAULT CHARACTER SET = "gbk";
5、修改数据库编码 ALTER DATABASE db_name DEFAULT CHARACTER SET "gbk";
6、打开指定数据库 use db_name;
7、当前打开数据库名称 SELECT DATABASE();
8、删除指定数据库 DROP DATABASE db_name;
9、查看警告信息 SHOW WARNINGS;
2、数据类型
2.1整数类型(从小到大)
TINYNT < SMALLINT <MEDIUMAINT < INT < BIGINT
BOOL, BOOLEAN === TINYINT(1) , 0为false,其余为true
2.2、浮点类型
FLOAT[(M, D)] DOUBLE[(M,D)] DECIMAL[(M,D)]
2.3、字符串类型
CHAR VACHAR(M) TINYTEXT TEXT MEDIUMTEXT LONGTEXT ENUM('value1','value2'...) SET('value1','value2'...)
2.4、日期时间类型
TIME DATE DATETIME TIMESTAMP YEAR
3.存储类型
查看mysql支持的存储引擎 SHOW ENGINES;
查看显示支持的存储引擎信息 SHOW VARIABLES LIKE 'have%‘;
查看 默认的存储引擎 SHOW VARIABLES LIKE 'storage engine'
常用的存储引擎
InnoDB 事物、回滚、高并发。。(多数用这个)
MyISAM 占用磁盘空间小,处理快,不支持事物
MEMORY 存储在内存,快处理,需求服务器内存大,出现异常影响完成性
4、创建TABLE
CREATE TABLE IF NOT EXISTS 'tab_name'(
id SMALLINT,
username VARHCAR(20),
sex ENUM('男','女','保密'),
birth YEAR,
salary FLOAT(8, 2),
)ENGINE=INNODB CHARSET=UTF8;
查看创建的TABLE: SHOW TABLES;
查看表结构 DESC tab_name;
查询表 SELECT * FROM tab_name;
4.2约束条件
PRIMARY KEY 主键
AUTO_INCREMENT 自增长
FOREIGN KEY 外键
NOT NULL 非空
UNIQUE KEY 唯一
DEFAULT 默认值
UNSIGNED 无符号
4.3 修改表结构
修改表名 ALTER TABLE old_name RENAME [TO|AS] new_name;
增加字段 ALTER TABLE tab_name ADD 字段名称 字段类型 完整性约束条件 [FIRST|ALTER];
删除字段 ALTER TABLE tab_name DROP 字段名称
修改字段 ALTER TABLE tab_name MODIFY 字段名称 字段类型 完整性约束条件 [FIRST|ALTER];
修改字段名称 ALTER TABLE tab_name CHANGE 旧字段名称 新字段名称 完整性约束条件 [FIRST|ALTER];
添加默认值 ALTER TABLE tab_name ALTER 字段名称 SET DEFAULT 默认值;
删除默认值 ALTER TABLE tab_name ALTER 字段名称 DROP DEFAULT;
修改表的存储引擎 ALTER TABLE tab_name ENGINE=存储引擎名称
修改自增长的值 ALTER TABLE tab_name AUTO_INCREMNET=值;
添加主键 ALTER TABLE tab_name ADD PRIMARY KEY 字段名称
删除主键 ALTER TABLE tab_name DROP PRIMARY KEY;
添加唯一 ALTER TABLE tab_name ADD UNIQUE 字段名称;
删除唯一 ALTER TABLE tab_name DROP {INDEX|KEY} index_name;
4.4插入数据
不指定字段 INSERT [INTO] tab_name VALUES(...)
指定字段 INSERT [INTO] tab_name(字段1。。。) VALUES(值...)
插入多条数据 INSERT INTO tab_name(字段1...) VALUES(值1..)(值2>>)
SET形式插入记录 INSERT tab_name SET 字段名称=值;
查询结构插入表中 INSERT tab_name[(字段名称)] SELECT 字段名称 tab_name [WHERE]
4.5更新数据
UPDATE tab_name SET 字段名称=值 [WHERE 条件][ORDER BY 字段名][LIMIT 限制条数]
彻底清空数据表 TRUNCTALE[TABLE] tab_name;
DELETE FROM tab_name;
4.6查询
SELECT * FROM TABLE [WHERE...];
1.* 代表所有
2.别名
eg: SELECT a.id AS i, a.username AS u FROM admin AS a;
3.WHERE 条件;
比较 = < <= > >= <> !> <=>
指定范围 BETWEEN AND 、 NOT BETWEEN AND
指定集合 IN NOT IN
匹配字符 LIKE NOT LIKE
是否为空 IS NULL IS NOT NULL
多个查询条件 AND OR
4.分组函数
GROUP BY
5、聚合函数
COUNT() MAX() MIN() AVG() SUM()
6、HAVING
通过HAVING字句对分组结果尽心二次筛选
7、ORDER BY 排序
ORDER BY ORDER BY DESC
对查询结果排序
8、LIMIT限制查询条数
9、内链接查询
JOIN|CROSS JOIN INNER JOIN
通过ON链接条件
显示两个表中符合链接条件的记录
10、外连接查询
左外连接 LEFT[OUT]JOIN 显示左表的全部记录及右表符合条件的记录
右外连接 RIGHT[OUT]JOIN 显示右表的全部记录及左表符合条件的记录
5、外键
外键是表的一个特殊字段
外键的作用保持数据的一致性和完整性。
子表中创建外键 FOREIGN KEY(子字段) PEFERENCES 主表(字段)
主表中创建外键 CONSTRAINT 子表 FOREIGN KEY(字段) PEFERENCES 主表(字段)
创建外键
ALTER TABLE tab_name(主表) ADD CONSTRAINT 子表 FOREIGN KEY(字段) PEFERENCES 主表(字段);
删除外键
ALTER TABLE tab_name DROP FOREIGN KEY tab_name;
6.联合查询
UNION UNION ALL
UNION和UNION ALL 的区别UNION去掉相同的记录,UNION ALL是简单的合并。
7.子查询
子查询是将一个查询语句嵌套在另一个查询语句中。内层查询语句的查询结果,可以作为外层查询语句提供条件。
8、正则表达式查询
REGEXT 匹配方式
9.运算符的使用
1.数学函数
2.字符串函数
3.日期时间函数
4.条件判断函数
5.系统函数
6.其他常用函数
10.索引
普通索引 唯一索引 全文索引 单列索引 多列索引 空间索引
内容有点多,减去好多细节,后续更新。。