在安装MySQL后,会附带一些数据库,系统数据库会记录一些必需的信息,用户无法直接修改,附带的这些数据库作用:
information——schema:存储系统中的一些数据库对象信息,如用户表信息、列信息、权限信息、字符集信息和分区信息等;
performance_schema:主要存储数据库服务器性能参数;
mysql:主要存储系统的用户权限信息;
test:为MySQL数据库管理系统自动创建的测试数据库,任何用户都可使用。
登录数据库:
mysql -uroot -p
接着输入密码;若用户添加了mycli, 则登录命令为:
mycli -uroot -h localhost
此时也需再输入密码。
展示已有的数据库:
show databases;
创建新的数据库,并设置此数据库下的表的字符集为utf8:
create database 库名 charset=utf8;
或者:
create database if not exists 数据库名 default charset utf8;
在以上命令下也可设置字符集:
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
COLLATE utf8_general_ci是数据库校对规则, ci是case insensitive的缩写,意思是大小写不敏感;相对的是cs,即case sensitive,大小写敏感;还有一种是utf8_bin,是将字符串中的每一个字符用二进制数据存储,区分大小写。
也可用以下命令创建数据库,但是默认的字符集为latin1:
create database 数据库名;
选择数据库:
use 数据库名;
删除数据库:
drop database 库名;
查看存储引擎:
show engines;
查看系统变量及其值:
show variables;
查看所支持的存储引擎(和show engines作用一样):
show variables like 'have%';
在此命令下,
Variable_name | Value | |------------------------+----------| | have_compress | YES | | have_crypt | YES | | have_dynamic_loading | YES | | have_geometry | YES | | have_openssl | DISABLED | | have_profiling | YES | | have_query_cache | YES | | have_rtree_keys | YES | | have_ssl | DISABLED | | have_statement_timeout | YES | | have_symlink | YES
variable_name参数表示存储引擎的名字,value参数代表是否支持,disabled代表支持但是还未开启。
查看默认的存储引擎:
show variables like 'storage_engine%';
其实默认的存储引擎在show engines命令下的结果已有显示。
如果想修改默认的存储引擎,可以在my.ini文件里修改[mysqld]项中的default-storage-engine参数,修改后需要重启MySQL服务才可以生效;
net stop mysql;
以上是关闭MySQL服务的命令;打开则是:
net start mysql;
重启为:
service mysqld restart;
各存储引擎的区别:
在安装mysql server后,可以使用图形界面软件如navicat等操作mysql数据库,也可以在终端使用SQL语句操作,下面介绍一些常用的SQL语句(打开终端):
注:SQL语句以;结束,也可用g替代,若没有输入,会停留在输命令的那里,直到输入分号,或者ctrl+z结束mysql, 语句不区分大小写。
1.登录:
mysql -uroot -p
(之后会提示输入密码)
2.查看系统帮助:
help contents;
3.退出数据库
exit/quit/ctrl+d
4.显示数据库版本
select version();
5.显示时间
select now();
6.查看已有的数据库:
show databases;
7.创建新的数据库:create database 数据库名;
create database 数据库名;
如create database myfirstsql;
8.删除数据库; drop database 数据库名;
drop database 数据库名;
如 drop database myfirstsql;
9.选择要进行操作的数据库: use 数据库名; 如; (此时的数据库名必须是已经创建的,否则此命令会报错)
use company;
10.查看MySQL支持的存储引擎:
show engines;
在此命令下可以查看默认的存储引擎,在support列用default标识。
11.查看某个数据库下的所有表:
show tables;
12.查看表的具体字段:select * from 表名;
select * from 表名;
13. 创建表:create table 表名(字段 类型 约束,
字段 类型 约束,
... .... ....)
create table table1(id int primary key,
name varchar(30) not null,
grade double(4,2) unique);
14. 查看表的定义: desc 表名;或者describe 表名;
desc table1;
15.创建完表后查看表结构的详细定义:
show create table 表名;
16.删除表:
1 drop table 表名;