MySQL篇

MySQL安装

  • linux上安装Mysql
    1.检测系统是否自带安装mysql:
    rpm -qa | grep mysql
    2.如果有安装可以进行卸载:
    rpm -e mysql //普通删除模式,
    rpm -e –nodeps mysql //强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除。
    3.安装mysql:
    yum install mysql
    yum install mysql-server
    yum install mysql-devel
    4.启动mysql:
    service MySQL start
  • 验证Mysql安装
    mysqladmin –version
    linux上该命令将输出以下结果,该结果基于你的系统信息:
    这里写图片描述
  • 安装完成后需要做的
    1.Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
    mysqladmin -u root password “new_password”;
    2.通过以下命令来连接到Mysql服务器:
    这里写图片描述

管理MySQL

  • /etc/mysql/mysql.conf.d文件配置
    一般情况下,不需要修改配置,默认配置如下
    这里写图片描述
  • 管理MySQL的命令
    1.列出 MySQL 数据库管理系统的数据库列表:
    show databases;
    这里写图片描述
    2.选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库:
    use 数据库名
    这里写图片描述
    3.显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息:
    show columns from 数据表;
    4.显示数据表的详细索引信息,包括PRIMARY KEY(主键):
    show index from 数据表;
    5.创建数据库:
    create database 数据库名;
    6.删除数据库:
    drop database 数据库名;

MySQL对表的简单操作

  • 创建MySQL数据表的通用语法:
    CREATE TABLE table_name (column_name column_type);
  • 删除MySQL数据表的通用语法:
    DROP TABLE table_name ;
  • 插入数据通用的语法:
    INSERT INTO table_name ( field1, field2,…fieldN ) VALUES ( value1, value2,…valueN );
  • 查询数据通用的 SELECT 语法:
    SELECT column_name,column_name FROM table_name [WHERE Clause]
  • 使用 WHERE 子句从数据表中读取数据的通用语法:
    SELECT field1, field2,…fieldN FROM table_name1, table_name2… [WHERE condition1 [AND [OR]] condition2…..
  • UPDATE 命令修改 MySQL 数据表数据的通用语法:
    UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
  • 删除数据的通用语法:
    DELETE FROM table_name [WHERE Clause];
  • 使用 LIKE 子句从数据表中读取数据的通用语法:
    SELECT field1, field2,…fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = ‘somevalue’;
  • UNION 操作符语法格式:
    SELECT expression1, expression2, … expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, … expression_n FROM tables [WHERE conditions];
  • ORDER BY 将查询数据排序后再返回数据:
    SELECT field1, field2,…fieldN table_name1, table_name2… ORDER BY field1, [field2…] [ASC [DESC]];

Mysql 连接的使用

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
    例:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
    例:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
    例:SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

MySQL NULL 值处理(三大运算符)

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
  • <=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。
  • 关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
    在 MySQL 中,NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。
    MySQL 中处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。

MySQL 事务

  • 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
  • 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
  • 事务用来管理 insert,update,delete 语句。

一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)

  1. 事务的原子性:一组事务,要么成功;要么撤回。
  2. 稳定性 :有非法数据(外键约束之类),事务撤回。
  3. 隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
  4. 可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得。innodb_flush_log_at_trx_commit 选项 决定什么时候把事务保存到日志里。

MYSQL 事务处理主要有两种方法:
1.用 BEGIN, ROLLBACK, COMMIT来实现

  • BEGIN 开始一个事务
  • ROLLBACK 事务回滚
  • COMMIT 事务确认

2.直接用 SET 来改变 MySQL 的自动提交模式:

  • SET AUTOCOMMIT=0 禁止自动提交
  • SET AUTOCOMMIT=1 开启自动提交

MySQL ALTER命令

  • 使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:
    ALTER TABLE testalter_tbl DROP i;
  • 使用 ADD 子句来向数据表中添加列,并定义数据类型:
    ALTER TABLE testalter_tbl ADD i INT;
  • 如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
    1.ALTER TABLE testalter_tbl DROP i;
    2.ALTER TABLE testalter_tbl ADD i INT FIRST;
    3.ALTER TABLE testalter_tbl DROP i;
    4.ALTER TABLE testalter_tbl ADD i INT AFTER c;

  • 修改字段类型及名称
    ALTER TABLE testalter_tbl MODIFY c CHAR(10);

  • 使用 CHANGE 子句
    ALTER TABLE testalter_tbl CHANGE i j BIGINT;
    ALTER TABLE testalter_tbl CHANGE j j INT;
  • 使用 ALTER 来修改字段的默认值
    ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
  • 使用 ALTER 命令及 DROP子句来删除字段的默认值
    ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
  • 修改表名
    ALTER TABLE testalter_tbl RENAME TO alter_tbl;

MySQL导入导出sql文件
window下

  1. 导出整个数据库
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u dbuser -p dbname > dbname.sql
  2. 导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u dbuser -p dbname users> dbname_users.sql
  3. 导出一个数据库结构
    mysqldump -u dbuser -p -d –add-drop-table dbname >d:/dbname_db.sql -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
  4. 常用source 命令
    进入mysql数据库控制台,如
    mysql -u root -p
    mysql>use 数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:/dbname.sql导入数据库

linux下

  1. 导出数据和表结构:
    mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
    mysqldump -uroot -p abc > abc.sql
    敲回车后会提示输入密码
  2. 只导出表结构:
    mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
    mysqldump -uroot -p -d abc > abc.sql
  3. 首先建空数据库
    create database abc;
  4. 导入数据库
    方法一:
    (1)选择数据库:mysql>use abc;
    (2)设置数据库编码:mysql>set names utf8;
    (3)导入数据(注意sql文件的路径):mysql>source /home/abc/abc.sql;
    方法二:
    mysql -u用户名 -p密码 数据库名 < 数据库名.sql
    (mysql -uabc_f -p abc < abc.sql)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值