MySQL学习笔记(二)、MySQL操作入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Three_dog/article/details/82702679

MySQL操作入门

MySQL服务的启停

  • Windows平台:计算机–右键–管理–服务–MySQL,然后操作即可。
    • 通过命令行:
      • net start mysql启动
      • net stop mysql停止
  • Linux平台:
    • service mysql start启动
    • service mysql restart重启
    • service mysql stop停止

常用安装配置

  • 配置文件my.ini
    修改默认的文件编码:
[mysqld]
default-character-set=utf8
character_set_server=utf8
secure_file_priv=''
...
[client]
default-character-set=utf8
...
[mysql]
default-character-set=utf8
...
  • 命令目录bin
  • 数据库目录data

数据库操作步骤

  1. 接到MySQL服务器,
    • mysql -h localhost -u 用户 -p密码(注意p后面不跟密码)
  • 如果安装软件的时候,没有设置密码,需要先设置密码:
  • mysqladmin -u root -p password 新密码
  • enter password:
  • 例如:mysqladmin -u root -p password 123
  • 如果要修改密码:

    use mysql;
    update user set password=PASSWORD(‘briup’) where user=’root’;

    flush privileges;
  1. 连接成功后

    • \s可以查看当前数据库状态
    • show variables查看所有配置的环境变量
    • show variables like ‘time_zone’查看相关变量。
  2. 指定数据库,创建一个表

use testdb;
select database(); //查看当前数据库    \s也可以查看得到
create table tab1(id int,name char(30));
show tables;//显示数据库里面所有的表
desc tab1;//查看表结构
show columns from tab1[\G];//也是查看表结构  \G分组显示
  1. 往表里面添加,修改,删除语句
insert into tab1 values(1,’zhangsan’);
insert into tab1 values(‘2’,’lisi’);//全部数据插入
insert into tab1(name) values(‘wangwu’);//插入部分
select count(*) from tab1;//查看表里面记录条数
update tab1 set name=’lucy’ where id = 1;
update tab1 set name=’lily’,age=’21where id = 2;
delete from tab1 where id = 1;
delete from tab1 where id>1 and id <4;

使用MySQL帮助文档

  • ?关键字:显示MySQL的帮助信息
  • ? contents;分层显示帮助信息
  • ? create database; 查看创建数据库命令的用法
  • ? create table; 查看创建表命令的用法
  • ? data types; 查看字段可以有哪些类型
  • 参考链接:补充内容:http://blog.csdn.net/zhongweijian/article/details/7903629

show命令用法

  • show columns from table_name; // 查看表结构
  • show create table tab1; //查看表的创建过程 engine存储引擎
  • show index from user; //查看表中索引
  • show status; //查看当前系统状态
  • show processlist; //查看当前有多少个客户端连接
  • show engines; //查看所有存储引擎(通常也被成为数据表类型);
  • show variables like ‘table_type’; //也可以查看默认表类型

MySQL的存储引擎

每种数据库的数据格式,内部实现机制可能都不同,要利用一种开发工具访问一种数据库,必须通过一种中介程序,这种开发工具和数据库之间的中介程序我们就叫数据库引擎。

  • MyISAM(早期默认): 成熟稳定,易于管理,强调快速读取操作,但容易出现碎片,需要用户整理碎片,OPTIMIZE TABLE 表名; 另外有一些功能不支持;

  • InnoDB(当前默认): 可以看成MyISAM的升级换代,支持MyISAM一些不支持的功能,但是其空间占用量大,效率低,也没有全文索引。

  • BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。

  • Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。

  • Merge:允许DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。

  • Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。

  • Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。

  • Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。

    扫描二维码关注公众号,回复: 6731604 查看本文章
  • Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。

事务处理机制

数据库操作没有回收站机制,数据一旦被误删除,后果十分严重;有了事务处理,就可以恢复到某个状态,保证了数据的安全,但是效率会受到影响。
- 开启事务: start transaction;
- 撤销、回滚: rollback; rollback A;
- 设置回滚点: savepoint A;
- 提交: commit;

索引机制(index)

索引是为了检索而存在的,例如一些书籍的末尾专门附有索引,指明某个关键字在正文中出现的页码位置,方便我们查找,但大多数书籍只有目录没有索引,目录不是索引,只是书中内容的排序并不提供真正的检索功能。建立索引需要单独占用空间;索引并非必要存在,他们只是为了更好更快的检索和定位关键字而存在;

简单的Select语句

  • SELECT 1 + 1;
  • select now() as Systime;
  • select current_date as Systime;
  • select sysdate() as Systime;
  • select * from 表 ;

猜你喜欢

转载自blog.csdn.net/Three_dog/article/details/82702679