MySQL基础知识
清屏:cls
启动MySQL:net start mysql
关闭MySQL:net stop mysql
登录: mysql -uroot -p
退出:
mysql>exit;
mysql>quit;
mysql>\p;
显示当前服务器版本 :SELECT VERSION();
显示当前时间 :SELECT NOW();
显示当前用户 :SELECT USER();
SQL Server默认的端口号是:1433
Orcal默认的端口号是:1521
MySQL默认的端口号是:3306
MySQL超级用户是:root
创建数据库:CREATE DATABASE
修改数据库:ALTER DATABASE
删除数据库:DROP DATABASE
数据类型
整型:
TINYINT:非常小的整数(SQL Server数据库的一种数据类型,范围从0到255之间的整数)
SMALLINT:短整型
MEDIUMINT:中型整形数据类型
INT:整型
BIGINT:长整型数字
浮点型: FLOAT[(M,D)] DOUBLE[(M,D)] M为数字总位数,D为小数点后面的位数
字符型:VERCHAR(M)
查看有什么数据库:SHOW DATABASES;
打开数据库:USE 数据库名称;
查看当前数据库:SELECT DATABASES;
自动编号AUTO_INCREMENT
1、自动编号,且必须与主键组合使用
2、默认情况下,起始值为1,增量为1
主键PRIMARY KEY
1、每张表只能有一个主键
2、主键保证记录的唯一性
3、主键自动为NOT NULL
唯一约束:UNIQUE KEY
默认约束:DEFAULT
更新记录UPDATE
语法:UPDATE tb_name SET age=age+10 WHERE name="chaihuo";
删除记录FELETE
语法:DELETE FORM tb_name WHERE name="chaihuo";
查询结果分组GROUP BY
语法:SELECT sex FORM users BY sex;
对查询结果进行排序ORDER BY
语法:SELECT * FORM users ORDER BY id DESC;
ASC:升序
DESC:降序
HAVING分组条件
语法:SELECT sex,age FORM users BY sex HAVING age>35;
主要:此时HAVING后面只有两种情况1)聚合函数2)在select后面
字符运算符
CONCAT()字符连接
CONCAT_WS()使用指定的分隔符进行字符连接
FORMAT()数字格式化
LOWER()UPPER()转换成小/大写字母
LEFT() RIGHT()获取左/右侧字符
LENGTH()获取字符串长度
SUBSTRING()字符串截取
[NOT] LIKE 模式匹配
REPLACE()字符串替换
数值运算符与函数
CEIL() 进一取整
DIV 整数除法
FLOOR()舍一取整
MOD 取余数
POWER() 幂运算
ROUND()四舍五入
比较运算符与函数
[NOT] BETWEEN...AND... [NOT]IN() IS[NOT]NULL
信息函数
CONNECTION_ID() 连接id
DATEBASE()当前数据库
LAST_INSERT_ID()最后插入记录的Id号
USER()当前用户
VERSON()版本信息
聚合函数
AVG()平均值
COUNT()计数
MAX()
MIN()
SUM()
加密函数
MD5()信息摘要算法
PASSWORD()密码算法
子查询和连接
将查询结果写入数据表
INSERT[INTO] tbl_name[(col_name,...)] SELECT...
例子:INSERT tdb_goods(cate_name) SELECT good_cake FORM table GROUP BY good_cake;
多表更新
UPDATE table1 INNER JOIN table2 ON table1_name=table2_name SET table1_id=table2_di;
CREATE...SELECT
创建数据表同时将查询结果写入到数据表
CREATE TABLE table_name [(create_definine)] select_statement
例:CREATE TABLE table1(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL)
SELECT SELECT good_cake FORM table GROUP BY good_cake;
)
存储引擎
通过修改MySQL配置文件实现
1)-ddfault-storage-engine=engine
2)通过创建数据表命令实现
CREATE TABLE[IF NOT EXISTS]table_name(
age1 TINYINT UNSGINED(无符号位) NOT NULL,
age2 TINYINT UNSGINED(无符号位) NULL,//默认是可以为空
......
)ENGINE=engine;
通过修改数据表命令实现
-ALTER TABLE table_name ENGINE[=]engine_name;
存储引擎
MyISAM:存储现在可达256TB,支持索引。表级锁定,数据压缩
InnoDB:存储限制为64TB,支持事务和索引。锁颗粒为行锁