MySQL数据库基本操作(一)

在安装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 表名; 

原文地址:https://www.cnblogs.com/jdwfff/p/JDWFFF.html