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 表以后虽然未释放磁盘空间,但是下次插入数据的时候还是可以使用这部分空间。
持续更新中。。。。