`
dyccsxg
  • 浏览: 204781 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

MySql 基础知识

 
阅读更多
1. 启用 mysql 的远程访问功能
   默认情况下 mysql 只支持本机访问,不支持远程访问。
   # 登录 mysql
   mysql -hlocalhost -uroot -p123456a?
   
   # 使用 mysql 库
   use mysql
   
   # 修改 root 用户密码
   update mysql.user set  password\=password('newpwd') where user='root';
   
   # 跳过密码校验直接登录
   mysqld --skip-grant-tables
   
   # 查询 user 表
   select user,host from user;
	 +------+-----------+
	 | user | host      |
	 +------+-----------+
	 | root | localhost |
	 +------+-----------+
     
   # 更新 user 表
   update user set host='%' where user='root';
   
   # 应用更改
   flush privileges;
   
   # 退出
   quit
   
   # 重新登录
   mysql -h10.166.42.238 -uroot -p123456a?

2. 查看 mysql 帮助 
   # 查看帮助命令
   help 
   
   # 查看数据类型
   help data types;
   
   # 查看 show 命令
   help show; 

3. show 命令
   # 查看字符集
   show character set;
   
   # 查看现有数据库
   show databases;   
   select schema_name from information_schema.schemata;
   
   # 查看表
   show tables;
   select table_name from information_schema.tables where table_schema='mysql';
   
4. 创建数据库     
   # 创建数据库
   create database if not exists test character set = utf8;
   
   # 使用数据库
   use test;
   
   # 查看创建数据库的 sql
   show create database test;
   
   # 删除数据库
   drop database if exists test;

5. 创建表
   # 创建表
	CREATE TABLE EMP(
		EMPNO    INT(4),         -- 员工编号
		ENAME    VARCHAR(10),    -- 姓名
		JOB      VARCHAR(9),     -- 工作
		MGR      INT(4),         -- 上级编号
		HIREDATE DATE,           -- 入职日期
		SAL      FLOAT(7,2),     -- 工资
		COMM     FLOAT(7,2),     -- 奖金
		DEPTNO   INT(2)          -- 部门编号
	);
     
    # 导入数据
    load data local infile 'd:/temp/emp.txt' into table emp lines terminated by '\r\n';
    
    # d:/temp/emp.txt,其中各列数据以 Tab 健分隔,NULL 值用 \N 代替
	7369	SMITH	CLERK	7902	1980-12-17	800	\N	20
	7499	ALLEN	SALESMAN	7698	1981-2-20	1600	300	30
	7521	WARD	SALESMAN	7698	1981-2-22	1250	500	30
	7566	JONES	MANAGER	7839	1981-4-2	2975	\N	20
	7654	MARTIN	SALESMAN	7698	1981-9-28	1250	1400	30
	7698	BLAKE	MANAGER	7839	1981-5-1	2850	\N	30
	7782	CLARK	MANAGER	7839	1981-6-9	2450	\N	10
	7788	SCOTT	ANALYST	7566	1987-7-13	3000	\N	20
	7839	KING	PRESIDENT	\N	1981-11-17	5000	\N	10
	7844	TURNER	SALESMAN	7698	1981-9-8	1500	0	30
	7876	ADAMS	CLERK	7788	1987-7-13	1100	\N	20
	7900	JAMES	CLERK	7698	1981-12-3	950	\N	30
	7902	FORD	ANALYST	7566	1981-12-3	3000	\N	20
	7934	MILLER	CLERK	7782	1982-1-23	1300	\N	10
    
    # 创建一个和表 emp 具有相同结构的表 emp_new1(不需要原表的数据)
    create table emp_new1 like emp;
    
    # 将表 emp 中的数据全部插入到表 emp_new1 中
    insert into emp_new1 select * from emp;
    
    # 将 emp 中 EMPNO 为 7900 的行插入到表 emp_new1 中,同时将 EMPNO 改为 8000
    insert into emp_new1
      select '8000',ename,job,mgr,hiredate,sal,comm,deptno from emp where empno=7900;
      
    # 创建一个和表 emp 具有相同结构的表 emp_new2, 同时需要携带原表的数据
    create table emp_new2 select * from emp;
    
    # 查看建表 sql
    show create table emp_new2;

    # 重命名表
    rename table emp_new2 to emp_new1;

6. 事物
    # 数据库事物的四个基本性质ACID
    # 原子性 Atomicity
    事物中包含的操作要么都做,要么都不做
    # 一致性 Consistency
    事物开始以前数据库处于一致性的状态,事物结束后数据库也必须处于一致性状态,例如银行转账。
    # 隔离性 Isolation
    系统必须保证事物不受其他并发事物的影响
    # 持久性 Durability
    一旦事物成功完成,它对数据库的改变必须是永久的。

    # 设置不提交事物
    set autocommit=0;

    # 删除一条记录
    delete from emp where empno=7900;

    # 打开一个新的窗口
    mysql -hlocalhost -uroot -p
    use test
    select * from emp;                   -- 此时发现数据并没有删除

    # 在原窗口中提交事物
    commit;

    # 在原窗口中创建表 dept
	CREATE TABLE DEPT (
		DEPTNO INT,
		DNAME VARCHAR(14) ,
		LOC VARCHAR(13) 
	) ENGINE = MyISAM;

    # 在原窗口中插入数据
    INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');
    INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS'), (30,'SALES','CHICAGO');

    # 在新窗口中查询 dept
    select * from dept;                  -- 此时数据已经有了,因为 dept 不是事务表
    
    # 将表 dept 改为事物表
    alter table dept engine = InnoDB;

7. 查询
    # 添加一个自增列
    alter table emp_new1 add id int not null auto_increment, add primary key(id);

    # 集合函数
    select max(sal) from emp;

    # 集合与分组
    select job,max(sal) from emp;              -- 错误的 sql, 没有分组
    select job,max(sal) from emp group by job; -- 正确的 sql

    # 分页 select * from tableName limit offset,rows;
    # 选择前10行
    select * from emp limit 0,10;

    # 添加行号
    select (@row:=@row+1) as row, emp.* from (select @row:=0) a, emp order by empno desc;

8. 性能分析
    # 性能分析
    # type [all:全表扫描, ref:多行匹配, const:通过索引一个找到]
    # key [primary:使用主键]
    explain select empno,ename from emp_new1 where empno=7782;

9. 备份和恢复
    # 备份表数据
    select * into outfile 'd:/temp/test.txt' from emp;
    # 恢复表数据
    load data infile 'd:/temp/test.txt' replace into table emp;

    # 备份表结构及数据
    mysqldump -hlocalhost -uroot -p123456a? test emp > d:/temp/backup_emp.sql
    # 恢复表结构及数据
    mysql -hlocalhost -uroot -p123456a? test < d:/temp/backup_emp.sql
    
    # 备份数据库
    mysqldump -hlocalhost -uroot -p123456a? test > d:/temp/backup_emp.sql
    # 恢复数据库
    mysql -hlocalhost -uroot -p123456a? test < d:/temp/backup_emp.sql
    
10. 修改 cmd 中乱码
    set names gbk;

 

分享到:
评论

相关推荐

    mysql基础知识和mysql优化整理

    一、MySQL基础知识 1. 数据库与表:MySQL中的数据库是一个逻辑存储单元,用于组织相关数据。表是数据库中的基本元素,由列和行构成,用来存储具体的数据。 2. 数据类型:MySQL支持多种数据类型,如整数类型...

    MYSQL基础知识-学习笔记

    这份"MYSQL基础知识-学习笔记"涵盖了对MySQL的初步介绍以及基础概念,是初学者入门的理想资源。 首先,我们从MySQL的简介开始。MySQL是由瑞典的MySQL AB公司开发的,后被甲骨文公司收购。它是一款开源、免费的...

    MySQL基础知识总结.pdf

    以上是对MySQL基础知识的总结,涵盖了数据库管理系统的各个方面,从基础的数据类型到复杂的查询语句和事务处理,再到数据库的日常管理和性能优化。掌握这些知识对于在IT行业中进行数据库开发和管理是必不可少的。

    MySQL 基础知识的总结

    本文将深入探讨MySQL的基础知识,包括安装、数据类型、表的创建、查询语句、索引以及事务处理等核心概念。 1. **安装与配置** MySQL的安装过程通常包括下载适合操作系统的安装包,按照向导进行安装,然后配置...

    mysql基础知识小结

    mysql参考手册重点章节:5 6 7 8 10 11 13 14 15 ## mysql启动方法: ## mysql关闭方法: ## mysql登陆方法:(单、多实例,本地、远程登录) ## 修改mysql提示符 ## 修改密码 ## root密码丢失找回 ## SQL结构化...

    mysql基础知识培训

    MySQL 基础知识培训涵盖了从数据库的基本概念到实际安装和管理操作的多个方面。MySQL 是一款广泛应用的关系型数据库管理系统,特别适合于中小型企业及个人网站的开发,因其开源、免费且性能优秀的特点,常与 PHP、...

    mysql基础知识

    ### MySQL基础知识概述 根据提供的文件信息,我们可以梳理出关于MySQL的基础知识,主要涵盖数据库与表的基本操作、SQL查询以及简单的数据库管理等内容。 ### MySQL安装与启动 #### 安装路径 - **安装路径**:`D:\...

    MySQL基础知识.md

    # MySQL基础知识笔记 ## 创建表 * 数据类型 |数据类型|大小(字节)|用途|格式| |:------|:--------:|:--:|:--:| |INT|4|整数|| |FLOAT|4|单精度浮点数|| |DOUBLE|8|双精度浮点数|| |ENUM||单选,比如性别|...

    数据库Mysql基础知识总结

    **数据库MySQL基础知识总结** 在IT领域,MySQL是一个广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用性而备受青睐。以下是对MySQL基础知识的详细总结: ### 1. MySQL基本概念 - **数据库(Database)*...

    mysql基础知识2.zip

    这个名为"mysql基础知识2.zip"的压缩包文件显然包含了关于MySQL基础概念、操作和管理的一些教学材料或教程。接下来,我们将深入探讨MySQL的基础知识。 1. **数据库和表的概念**:在MySQL中,数据库是一个组织数据的...

    mysql基础知识 1.zip

    本压缩包“mysql基础知识 1.zip”显然包含了关于MySQL的基础教程或资料,旨在帮助初学者理解并掌握MySQL的基本概念、操作和使用。 1. **MySQL概述** MySQL是一个快速、可靠且可移植的SQL数据库服务器,它由瑞典的...

    mysql基础知识详解,完整ppt

    这份"mysql基础知识详解,完整ppt"提供了全面的学习资源,帮助初学者和教学者快速掌握MySQL的核心概念。以下是对这份PPT中可能涵盖的知识点的详细解读: 1. **MySQL简介**:MySQL是一个开源、免费的数据库系统,它...

    超详细mysql基础知识思维导图

    超详细mysql基础知识思维导图

    MySql基础知识总结

    在日常开发中,了解这些MySQL基础知识是必不可少的。通过持续学习和实践,你可以掌握更高级的概念,如视图、存储过程、触发器,甚至性能优化和集群部署。无论你是初学者还是经验丰富的开发者,不断深入研究MySQL将有...

    mysql基础知识.pdf

    MySQL 基础知识 MySQL 是一种关系型数据库管理系统,建立在关系模型上的数据库系统。关系模型将实体(学生)和实体的属性(学生的学号、姓名)保存到数据库中,并规定数据结构,设置数据之间的关系。 MySQL 的...

    MySQL基础知识复习

    MySQL基础知识复习

    MySQL基础知识.docx

    前端开发者了解后端的MySQL基础知识对于前后端协作至关重要。 首先,我们来看看数据库的存储方式。数据库通常以特定的文件形式存储在本地磁盘或者远程服务器上,也可以存在于内存中以实现高速访问。对于云服务,...

    快速入门MYSQL基础知识.rar

    这份"快速入门MYSQL基础知识"的资料将引导你逐步了解和掌握MySQL的基础知识,包括安装与配置、数据类型、数据库设计、SQL语句、索引、存储引擎、备份与恢复等方面。 1. **MySQL安装与配置**:首先,你需要在你的...

    快速入门MYSQL基础知识.pdf

    ### 快速入门MYSQL基础知识 #### 一、MySQL简介与安装 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其性能稳定、安全性高、易于使用等特点而受到广大开发者的青睐。对于计算机专业的学生来说,掌握...

    MySQL基础知识点111

    MySQL基础知识点111

Global site tag (gtag.js) - Google Analytics