Mysql基础知识

1.mysql启动/停止/重启

win:(管理员模式下) 

  • 启动:net start mysql
  • 停止:net stop mysql

linux

  • 启动:service mysqld start
  • 停止:service mysqld stop
  • 重启:service mysqld restart

2.mysql语句规范

  • 关键字和函数名全部大写
  • 数据库名称、表名称、字段名称全部小写
  • SQL语句必须以分号结尾

3.创建数据表

CREATE TABLE [IF NOT EXISTS] ` table_name ` (

    column_name data_type

)ENGINE=InnoDB DEFAULT CHARSET=utf-8

4.查看数据表及结构

  • 查看数据表:SHOW TABLES;
  • 查看建表语句:SHOW CREATE TABLE table_name \G;
  • 查看某张表的结构:DESC tabl_name;

5.修改数据表

  • 添加单列:ALTER TABLE table_name ADD [COLUMN] col_name col_definition [FIRST | AFTER col_name];
  • 添加多列:ALTER TABLE table_name ADD [COLUMN] (col_name col_definition, col_name col_definition ...);
  • 删除多列:ALTER TABLE table_name DROP [COLUMN] col_name;
  • 添加主键约束:ALTER TABLE table_name ADD PRIMARY KEY (col_name);
  • 删除主键约束:ALTER TABLE table_name DROP PRIMARY KEY;
  • 添加唯一约束:ALTER TABLE table_name ADD UNIQUE (col_name);
  • 删除唯一约束:ALTER TABLE table_name DROP INDEX col_name;
  • 修改列定义:ALTER TABLE table_name MODIFY col_name col_definition [FIRST | AFTER col_name];
  • 修改列名称:ALTER TABLE table_name CHANGE old_col_name new_col_name col_definition [FIRST | AFTER col_name];
  • 修改数据表名称:ALTER TABLE table_name RENAME new_table_name;
6.增删改查
  • 增:INSERT [INTO] table_name [(col_name, ...)] VALUES (values, ...);
  • 删:DELETE FROM table_name WHERE where_condition;
  • 改:UPDATE table_name SET col_name1 = values1 [, col_name2 = values2] WHERE where_codition;
  • 查:SELECT select_express 
                [

                        FROM table_references                          表名

                        [WHERE where_condition]                     查询条件

                        [GROUP BY col_name [ASC | DESC]]      分组

                        [HAVING where_condition]                   分组条件

                        [ORDER BY col_name [ASC | DESC]]      排序条件

                        [LIMIT offset, length]                             限制条件

                ]

7.连接

mysql在SELECT语句、多表更新、多表删除语句中支持JOIN操作,使用ON关键字来设定连接条件

语法:table_reference INNER | LEFT | RIGHT JOIN table_reference ON condition_express

  • 内连接(INNER JOIN):显示左表和右表符合连接条件的记录
  • 左外连接(LEFT JOIN):显示左表的全部记录及右表符合连接条件的记录
  • 右外连接(RIGHT JOIN):显示右表的全部记录及左表符合连接条件的记录

8.多表更新

UPDATE table_references SET col_name = values, ...;

table_referecnes 参照上面连接语法

9.运算符与函数

字符函数

  • CONCAT():字符连接
  • CONCAT_WS():使用指定的分隔符进行字符连接
  • FORMAT():数字格式化
  • LOWER():转换成小写字母
  • UPPER():转换成大写字母
  • LEFT():获取左侧字符
  • RIGHT():获取右侧字符
  • LENGTH():获取字符串长度
  • LTRIM():删除前导空格
  • RTRIM():删除后续空格
  • TRIM():删除前导和后续空格
  • SUBSTRING():字符串截取
  • [NOT] LIKE:模式匹配
  • REPLACE():字符串替换

数值运算符与函数

  • CEIL():进一取整
  • DIV():整数除法
  • FLLOOR():舍一取整
  • MOD():取余数(取模)
  • POWER():幂运算
  • ROUND():四舍五入
  • TRUNCATE():数字截取

比较运算符与函数

  • [NOT] BETWEEN ... AND ... :[不]在范围之内
  • [NOT] IN():[不]在列出值范围内
  • IS [NOT] NULL:[不]为空

日期函数

  • NOW():当前日期和时间
  • CURDATE():当前日期
  • CURTIME():当前时间
  • DATE_ADD():日期变化
  • DATEDIFF():日期差值
  • DATE_FORMAT():日期格式化

信息函数

  • CONNECTION_ID():连接ID
  • DATABASE():当前数据库
  • LAST_INSERT_ID():最后插入记录的ID号
  • USER():当前用户
  • VERSION():版本信息

聚合函数

  • AVG():平均值
  • COUNT():计数
  • MAX():最大值
  • MIN():最小值
  • SUM():求和

10.存储过程

是SQL语句和控制语句的预编译集合,以一个名词存储并作为一个单元处理

结构

CREATE PROCEDURE sp_name ([proc_parameter]) routine_body

proc_parameter:[IN | OUT | INOUT] param_name type

IN:表示该参数的值必须在调用存储过程时指定

OUT:表示该参数的值可以被存储过程改变,并且可以返回

INOUT:表示该参数在调用时指定,并且可以被改变和返回

调用存储过程:CALL sp_name

11.存储引擎

mysql将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎

mysql支持的存储引擎

  • MyISAM
  • InnoDB
  • Memory
  • CSV
  • Archive

修改存储引擎:ALTER TABLE table_name ENGINE = engine_name;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值