day1MySQL
1.安装MySQL
MySQL,本质上就是一个软件。
推荐用 5.7.31版本。
1.1 下载,安装5.7.31比较稳定
https://downloads.mysql.com/archives/community/
1.2 配置mysql
安装到英文路径
在根目录下,创建my.ini文件。
[mysqld]
#端口
port=3306
#根目录
basedir=D:\\SoftWare\\mysql-5.7.31-winx64
#数据库文件存放位置
datadir=D:\\SoftWare\\mysql-5.7.31-winx64\\data
#设置中文编码
#此处暂时没找到好的代码,总报错所以就直接在创建数据库的时候,给数据库设定UTF8
1.3 初始化
-
打开终端 & 以管理员的权限去运行
-
输入初始化的命令
"D:\SoftWare\mysql-5.7.24-winx64\bin\mysqld.exe" --initialize-insecure
至此,MySQL的安装已完成。
2.启动MySQL服务
启动MySQL一般有两种方式:
-
临时启动(不建议)
>>> "C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe"
-
制作成Windows服务,服务来进行关闭和开启。
-
制作服务,下面的命令一定要用管理员权限去打开cmd
"C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe" --install mysql57
>>> net start mysql57 >>> net stop mysql57
-
启动和关闭服务
-
>>>"C:\Program Files\mysql-5.7.31-winx64\bin\mysql.exe" -h 127.0.0.1 -P 3306 -u root -p
>>>"C:\Program Files\mysql-5.7.31-winx64\bin\mysql.exe" -u root -p
如果你将 C:\Program Files\mysql-5.7.31-winx64\bin\
添加到了系统环境变量。
>>> mysql -u root -p
3.mysql命令
3.1 设置密码
set password = password('root123');
3.2 查看已有的文件夹(数据库)
show databases;
3.3 退出(关闭连接)
exit;
汇总命令:
C:\Users\Administrator>mysql -u root -p
mysql> set password = password('root123');
mysql> show databases;
mysql> exit;
C:\Users\Administrator>mysql -u root -p
输入密码
mysql>exit;
3.4 数据库管理(文件夹)
-
查看已有的数据库(文件夹)
show databases;
-
创建数据库(文件夹)
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-
删除数据库(文件夹)
drop database gx_day14;
-
进入数据库(进入文件夹)
use gx_day14;
-
查看文件夹下所有的数据表(文件)
show tables;
检查当前数据库编码。
使用语句:
show variables like ‘%character%’;
show variables like’%collation%’;
小结
支持,MySQL的环境搭建相关的事全部搞定了。
- 安装
- 配置
- 启动
- 连接(密码、忘记密码)
以后我们再操作MySQL时:
-
关闭和开启MySQL服务
-
用MySQL自动工具连接MySQL并发送指令
myql -u root -p
6.MySQL指令
在MySQL和我们平时认知不同的概念。
MySQL | 认知 |
---|---|
数据库 | 文件夹 |
数据表 | 文件(Excel文件) |
6.1 数据库管理(文件夹)
-
查看已有的数据库(文件夹)
show databases;
-
创建数据库(文件夹)
create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-
删除数据库(文件夹)
drop database gx_day14;
-
进入数据库(进入文件夹)
use gx_day14;
-
查看文件夹下所有的数据表(文件)
show tables;
6.2 数据表的管理(文件)
-
进入数据库(进入文件夹)
use 数据库; use gx_day14;
-
查看当前数据库下的所有 表(文件)
show tables;
-
创建表(文件文件)
create table 表名称( 列名称 类型, 列名称 类型, 列名称 类型 )default charset=utf8;
create table tb1(id int, name varchar(16),age int) default charset=utf8;
create table tb1( id int, name varchar(16), age int ) default charset=utf8;
create table tb1( id int, name varchar(16) not null, -- 不允许为空 age int null, -- 允许为空(默认) ) default charset=utf8;
create table tb1( id int, name varchar(16), age int default 3 -- 插入数据时,age列的值默认3 ) default charset=utf8;
create table tb1( id int primary key, -- 主键(不允许为空,不允许重复) name varchar(16), age int ) default charset=utf8;
主键一般用于表示当前行的数据的编号(类似于人的身份证)。
create table tb1( id int auto_increment primary key, -- 内部维护,自增 name varchar(16), age int ) default charset=utf8;
一般情况下,我们再创建表时都会这样来写:【标准】
create table tb1( id int not null auto_increment primary key, name varchar(16), age int ) default charset=utf8;
- 查看数据表结构信息
mysql> desc tb1; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | YES | | NULL | | | age | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
-
删除表
drop table 表名称;
常用数据类型:
-
tinyint
有符号,取值范围:-128 ~ 127 (有正有负)【默认】 无符号,取值范围:0 ~ 255(只有正)
create table tb2( id int not null auto_increment primary key, age tinyint -- 有符号:取值范围:-128 ~ 127 ) default charset=utf8;
create table tb3( id int not null auto_increment primary key, age tinyint unsigned -- 无符号:取值范围:0 ~ 255 ) default charset=utf8;
-
int
int 表示有符号,取值范围:-2147483648 ~ 2147483647 int unsigned 表示无符号,取值范围:0 ~ 4294967295
-
bigint
有符号,取值范围:-9223372036854775808 ~ 9223372036854775807 无符号,取值范围:0 ~ 18446744073709551615
练习题:
# 创建表 create table tb2( id bigint not null auto_increment primary key, salary int, age tinyint ) default charset=utf8; # 插入数据 insert into tb2(salary,age) values(10000,18); insert into tb2(salary,age) values(20000,28); insert into tb2(salary,age) values(30000,38),(40000,40); # 查看表中的数据 select * from tb2;
mysql> show tables; +--------------------+ | Tables_in_gx_day14 | +--------------------+ | tb1 | +--------------------+ 1 row in set (0.00 sec) mysql> create table tb2( -> id bigint not null auto_increment primary key, -> salary int, -> age tinyint -> ) default charset=utf8; Query OK, 0 rows affected (0.03 sec) mysql> show tables; +--------------------+ | Tables_in_gx_day14 | +--------------------+ | tb1 | | tb2 | +--------------------+ 2 rows in set (0.00 sec) mysql> insert into tb2(salary,age) values(10000,18); Query OK, 1 row affected (0.00 sec) mysql> insert into tb2(salary,age) values(20000,28); Query OK, 1 row affected (0.00 sec) mysql> insert into tb2(salary,age) values(30000,38),(40000,40); Query OK, 2 rows affected (0.01 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from tb2; +----+--------+------+ | id | salary | age | +----+--------+------+ | 1 | 10000 | 18 | | 2 | 20000 | 28 | | 3 | 30000 | 38 | | 4 | 40000 | 40 | +----+--------+------+ 4 rows in set (0.00 sec)
-
float
-
double
-
decimal
准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。 例如: create table tb3( id int not null primary key auto_increment, salary decimal(8,2) )default charset=utf8; insert into tb3(salary) values(1.28); insert into tb3(salary) values(5.289); insert into tb3(salary) values(5.282); insert into tb3(salary) values(122115.11); select * from tb3;
-
char(m),速度快。
定长字符串,m代表字符串的长度,最多可容纳255个字符。 char(11),固定用11个字符串进行存储,哪怕真是没有11个字符,也会按照11存储。 create table tb4( id int not null primary key auto_increment, mobile char(11) )default charset=utf8; insert into tb4(mobile) values("151"); insert into tb4(mobile) values("15131255555");
-
varchar(m),节省空间。
变长字符串,m代表字符的长度。 最大65535字节/3 = 最大的m varchar(11),真实数据有多少长久按照多长存储。 create table tb5( id int not null primary key auto_increment, mobile varchar(11) )default charset=utf8; insert into tb5(mobile) values("151"); insert into tb5(mobile) values("15131255555");
-
text
text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 − 1)个字符。 一般情况下,长文本会用text类型。例如:文章、新闻等。 create table tb6( id int not null primary key auto_increment, title varchar(128), content text )default charset=utf8;
-
mediumtext
A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters.
-
longtext
A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1)
-
datetime
YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59)
-
date
YYYY-MM-DD(1000-01-01/9999-12-31)
练习题:用户表
create table tb7(
id int not null primary key auto_increment,
name varchar(64) not null,
password char(64) not null,
email varchar(64) not null,
age tinyint,
salary decimal(10,2),
ctime datetime
)default charset=utf8;
insert into tb7(name,password,email,age,salary,ctime) values("武沛齐","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");
insert into tb7(name,password,email,age,salary,ctime) values("张电摩","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");
insert into tb7(name,password,email,age,salary,ctime) values("庞小青","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");
insert into tb7(name,password,email,age,salary,ctime) values("谢涛","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");
insert into tb7(name,password,email,age,salary,ctime) values("谢鹏","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");
select * from tb7;
+----+-----------+----------+-------------+------+---------+---------------------+
| id | name | password | email | age | salary | ctime |
+----+-----------+----------+-------------+------+---------+---------------------+
| 1 | 武沛齐 | 123 | [email protected] | 19 | 1000.20 | 2011-11-11 11:11:10 |
+----+-----------+----------+-------------+------+---------+---------------------+
1 row in set (0.00 sec)
MySQL还有很多其他的数据类型,例如:set、enum、TinyBlob、Blob、MediumBlob、LongBlob 等,详细见官方文档:https://dev.mysql.com/doc/refman/5.7/en/data-types.html
我们平时开发系统时,一般情况下:
- 创建数据库
- 创建表结构
都是需要提前通过上述命令创建。
标签:11,salary,教程,int,utf8,age,mysql,安装 From: https://www.cnblogs.com/myayy/p/17195748.html