MySQL数据库


1.安装:

  安装MySQL-5.7.19

  a.解压下载的压缩包

  b.配置环境变量

  c.在MySQL-5.7.19目录下创建data文件和my.ini文件,添加文件内容:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.18-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

  d.用管理员打开命令行,进入F:\mysql\mysql-5.7.19\bin,输入mysqld --initialize-insecure进行初始化(初始化成功时data文件夹下会出现如下数据)。

  e.重新打开一个命令行,输入mysqld,即可启动MySQL。再打开一个命令行,输入mysql -u root -p即可进入MySQL。

  f.创建MySQL服务。打开命令行,输入mysqld --insstall创建MySQL服务。服务创建成功后,以后只需要启动命令行,输入net start mysql即可启动MySQL,输入net stop mysql停止MySQL。

至此,MySQL安装完成。

2.数据库操作:

  创建数据库:create database 数据库名;

        create database 数据库名 default charset utf8;   #设置默认编码为utf8格式。

  显示所有数据库:show databases;

  选择数据库:use 数据库名;

  删除数据库:drop database 数据库名;  #删除整个数据库。

3. 数据表操作:

  创建表:a.create table 表名(

          列名 数据类型 null,

          列名 数据类型 not null,

          列名 数据类型 not null auto_increment,);

      b.create table 表名(列名 数据类型 AUTO_INCREMENT PRIMARY KEY,列名 数据类型);  

      c.枚举类型(enum):

       create table db(

          name varchar(10),

          size ENUM("'small","medium","large")

        );(表中添加数据时,size值只能选择其中一个)

      d.集合类型(set):

       create table db(

          name varchar(10),

          size SET("'small","medium","large")

        );(表中添加数据时,size值只能选择其中任意组合)

(1)如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

(2)AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

(3)PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

(4)ENGINE 设置存储引擎(innodb(支持事务),myisam),CHARSET 设置编码

  插入数据:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

  读取数据表:select * from table_name;

  数据查询:

SELECT column_name1,column_name2
FROM table_name(,table_name2)
[WHERE Clause]
[LIMIT N][ OFFSET M]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

  删除数据表:drop table_name;(删除整个数据表)

        drop table table_name;

          删除表全部数据和结构,立刻释放磁盘空间,不管是innodb和myisam

        truncate table table_name;

          删除表全部数据,表结构不变,立刻释放磁盘空间,不管是innodb和myisam

        delete * from table_name;

          删除表全部数据,表结构不变,myisam会立刻释放磁盘空间,innod不会释放磁盘空间。

        delete from table_name where XXX;

          带条件的删除,表结构不变,不管是innodb和myisam都不会释放磁盘空间。

        delete 操作以后,使用optimize table table_name会立刻释放磁盘空间,不管是innodb还是myisam

        delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候还是可以使用这部分空间。

持续更新中。。。。