首页 > 代码库 > mysql学习笔记一:操作数据库
mysql学习笔记一:操作数据库
创建数据库是指在数据库空间中划出一块空间用来存储相关的数据,表就是存储在对应的数据库里面。首先来看下查看数据库的命令:show databases。 这个是用来查询数据库空间下所有的数据库,其中information_schedma/mysql/performace_schema是用来存储管理或者用户账号的数据库。目前还没有我们自己建立的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
+--------------------+
4 rows in set
创建数据库使用create databases.
mysql> create database test;
Query OK, 1 row affected
然后再查询一次:数据库test已经存在了,表示创建成功
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| test |
+--------------------+
5 rows in set
如果想删除的话:使用drop database 数据库名
mysql> drop database test;
Query OK, 0 rows affected
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
+--------------------+
4 rows in set
存储引擎:
存储引擎其实就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。Mysql有四种引擎方式: 1 MyISAM. 2 InnoDB 3 MEMORY 4 MERGE. 从mysql5.5后以后mysql默认使用InnoDB. 可以用show engines查看mysql支持的存储引擎. 如果想美化一点可以用 show engines \G;
mysql> show engines \G
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 9. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
9 rows in set (0.00 sec)
Engine参数指的是存储引擎的名称,support参数表明Mysql是否支持该引擎, comment参数值对引擎的评论,Transactions表示是否支持事务引擎。从上面的结果可以看到InnoDB为默认的存储引擎。
还有一个方法可以查询引擎的支持情况。Yes表示支持,No表示不支持,disable表示支持但还没有开启。
mysql> show variables like ‘have%‘;
+----------------------+----------+
| Variable_name | Value |
+----------------------+----------+
| have_compress | YES |
| have_crypt | NO |
| have_csv | YES |
| have_dynamic_loading | YES |
| have_geometry | YES |
| have_innodb | YES |
| have_ndbcluster | NO |
| have_openssl | DISABLED |
| have_partitioning | YES |
| have_profiling | YES |
| have_query_cache | YES |
| have_rtree_keys | YES |
| have_ssl | DISABLED |
| have_symlink | YES |
+----------------------+----------+
在前面show engines \G中可以看到InnoDB为默认支持的引擎。但是这个方法不够直接。用show variables like ‘storage_engine’ 可以查询到默认支持的引擎
mysql> show variables like ‘storage_engine‘;
+----------------+--------+
| Variable_name | Value |
+----------------+--------+
| storage_engine | InnoDB |
+----------------+--------+
1 row in set
如果想修改默认的存储引擎。可以在存储Mysql data目录下的my.ini中去修改。my.ini的路径是C:\ProgramData\MySQL\MySQL Server 5.5 默认安装情况下
# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 5.5/Data
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
例如像修改默认存储引擎为MyISAM, 可以直接修改default-storage-engine。然后重启服务,这个时候就会生效。
mysql学习笔记一:操作数据库