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,支持事务和索引。锁颗粒为行锁
 
 
原文地址:https://www.cnblogs.com/maoxiuying/p/9197880.html