mysql笔记

查看存储引擎

mysql> SHOW ENGINES\G;
*************************** 1. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MyISAM
     Support: DEFAULT
     Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: InnoDB
     Support: YES
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 5. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
5 rows in set (0.21 sec)

support后面的值表示存储引擎是否能够使用,YES表示能够使用, NO表示不能够使用, DEFAULT表示默认存储引擎。

存储引擎简单介绍:

InnoDB存储引擎:

支持事物的存储引擎,支持事物安全表(ACID),支持行锁定和外键,mysql5.5.5以后为默认存储引擎,具有提交、回滚、崩溃修复的事物安全。

MyISAM存储引擎:

拥有较高的插入查询速度,但是不支持事物,在mysql5.5.5之前是默认的存储引擎。

MEMORY存储引擎:

将表中的数据存储在内存中,为查询和引用其他数据提供快速访问。

登录数据库:

[root@localhost ~]# mysql -u root -h localhost -p 
Enter password: 输入设定的密码

创建数据库:

mysql> CREATE DATABASE db_name;

查看数据库:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| DVDCOLLECTION      |
| auth               |
| ba                 |
| change01           |
| db_name            |
| disks              |
| mydb               |
| mysql              |
| poll               |
| s                  |
| shop               |
| test               |       
+--------------------+
14 rows in set (0.08 sec)

选择要使用的数据库:

mysql> USE db_name;
Database changed

查看数据库信息:

mysql> SHOW CREATE DATABASE db_name\G;
*************************** 1. row ***************************
       Database: db_name
Create Database: CREATE DATABASE `db_name` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)

删除数据库:

mysql> DROP DATABASE db_name;
Query OK, 0 rows affected (0.16 sec)

直接查看默认的存储引擎:

mysql> SHOW VARIABLES LIKE "storage_engine";
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | MyISAM |
+----------------+--------+
1 row in set (0.00 sec)

 创建数据库表:

mysql> CREATE DATABASE test_db;
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
 (     id INT(11), 
       name VARCHAR(25),
      deptld INT(11),
      salary FLOAT 
);
Query OK, 0 rows affected (0.08 sec)

查看数据表:

mysql> SHOW TABLES;
+-------------------+
| Tables_in_test_db |
+-------------------+
| tb_emp1           |
+-------------------+
1 row in set (0.00 sec)

主键:

主键又叫主码,是表中一列或多列的组合,主键约束要求主键列的数据唯一,并且不允许为空,主键能够唯一的标识表中的唯一一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度,主键分为两种类型,单字段主键和多字段联合主键。

单字段主键:

mysql> CREATE DATABASE test_db;
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
 (     id INT(11) PRIMARY KEY, 
       name VARCHAR(25),
      deptld INT(11),
      salary FLOAT 
);

多字段联合主键:

mysql> CREATE DATABASE test_db;
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
 (     id INT(11), 
       name VARCHAR(25),
      deptld INT(11),
      salary FLOAT 
     PRIMARY KEY(name,deptld)      
);

使用外键约束:

外键用来在两个表之间建立连接,它可以使一列或者多列,一个表可以有一个或者多个外键,一个表的外键可以为空值,如果不为空值,则一个表的外键必须对应另一个表的主键的某个值。

posted @ 2016-03-08 17:19  zw~菜园子  阅读(201)  评论(0编辑  收藏  举报