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
数据库操作步骤
- 接到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;
连接成功后
\s
可以查看当前数据库状态show variables
查看所有配置的环境变量show variables like ‘time_zone’
查看相关变量。
指定数据库,创建一个表
use testdb;
select database(); //查看当前数据库 \s也可以查看得到
create table tab1(id int,name char(30));
show tables;//显示数据库里面所有的表
desc tab1;//查看表结构
show columns from tab1[\G];//也是查看表结构 \G分组显示
- 往表里面添加,修改,删除语句
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=’21’ where 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 表 ;