MySQL安装事项
Mysql安装任何版本都可以。sql语句的语法格式是一致的,和版本无关。
1.在安装的时候,有一步是选charset 选择自定义,并且在下拉列表里选择utf8.
为什么选utf8?
是因为数据库里往往会存放中文,在实际开发中信息交互的编码格式都是utf8。
2.超级管理员用户名默认是root,密码是自己设置的,千万不要忘记密码!!
忘记的话,只能重装Mysql。卸载Mysql的时候,需要删除注册表里的一
些关于Mysql的信息。
3.Mysql服务器安装完成了以后,cmd工具识别不了net start Mysql。什么原因?cmd默认不是以管理员身份运行的,我们可以进入到cmd.exe安装目录下,右键以管理员身份运行。如果想永久解决,把cmd.exe发送到桌面快捷方式。右键cmd快捷方式图标->属性->快捷方式选项卡->高级->勾选用超级管理员身份运行->确定。
4.如果安装到最后一步,程序卡死,无响应。说明系统中有个服务叫Mysql,
你给自己安装的mysql服务改个名字即可(比如改成mysql1)。
一旦给了名字,启动这个服务的时候
net start mysql1
关闭的时候 net stop mysql1
5.如果你安装的版本比较老
在cmd里面输入MySQL –uroot –proot 提示MySQL不是内部或外部命令,也不是可运行的程序或批处理文件。
原因是cmd和你要运行的MySQL.exe不在同一个文件里。
解决方案有两种:
第一种,cd到mysql.exe所在的文件夹,再使用上述命令。
第二种,配置系统环境变量。右键我的电脑->属性->高级系统设置->环境变量->系统变量->选择path变量,点编辑->新建->把C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin 设置为值->确定。——解决的是MySQL指令(mysql –uroot -proot)无法识别的问题。
数据库 database—数据的仓库。
数据库的分类:
1,关系型数据库。Mysql,Orcal,SQL Server,
2,非关系型数据库。NoSQL数据库-Not only SQL。Redies,mongoDB,
关系型数据库的基本单位是表(table)。
表:具有行和列的二维表。比如Excel做的成绩表。
DBMS:Database Manage System 数据库管理系统。
一个关系就是一张二维表。
对于一个二维表而言,有行和列的概念。
一行代表一个完整信息,称之为一条记录或者是一个元组。
一列代表一个完整信息的一部分,称之为字段或者属性。
SQL:Structured Query Language 结构化查询语言
SQL语句的分类:
1,DML:数据操作语言。
主要是对数据的操作。数据的增删改查。
2,DDL:数据定义语言。
主要是数据之外的其他操作。创建表,修改表,删除表,创建数据库,创建视图,创建索引,添加外键。
通用注意事项:
1,在SQL语句里面,系统关键字不区分大小写。
2,自己写的东西是有大小写之分的:
例如你创建表名是:student,后面使用的时候也需要是student,不能为STUDENT。
3,所有的标点符号必须是英文的。例如().
*是通配符,代表所有列。
连接数据库服务器:
mysql -uroot -p密码
或者:
mysql -uroot -p
再输入密码
此时的mysql是一个应用程序(mysql.exe)不是服务名。
注意:在mysql.exe中使用sql语句的话,必须以;结束。如果不写分号,
会认为你的命令很长,要换行继续输入。
第一个命令:
show databases; //查看服务器下有多少个数据库。
第二个命令:
use 数据库名; //进入到指定的数据库中。
第三个命令:
show tables; //查看当前选中的数据库中有哪些表。
第四个命令:
desc 表名; //查看指定的表的结构
第五个命令:
create database 数据库名; //创建一个指定名称的数据库。
create database if not exists 数据库名; //如果指定的数据库不存在,
//创建一个。即使数据库存在,也不会报错。
第六个命令:
drop database 数据库名; //删除数据库。
drop database if exists 数据库名; //如果指定名称的数据库存在,
//就删除它。即使数据不存在,也不报错。
第七个命令:
create table 表名(
字段名 字段类型(长度),
字段名 字段类型(长度),
字段名 字段类型(长度),
);
create table if not exists 表名(
字段名 字段类型(长度),
字段名 字段类型(长度),
字段名 字段类型(长度),
);
第八个命令:
drop table 表名; //删除指定的表
drop table if exists 表名;
create table tb_student(
sid int(5),
sname varchar(20),
ssex char(1),
sphone char(11),
sscore decimal(5,2)
);
第九个命令:
insert into 表名 values(值1,值2,…); //向表中插入1条数据(全列)
insert into 表名 values(值1,值2,…),(值1,值2,…),
(值1,值2,…),(值1,值2,…); //向表中插入4条数据(全列)
insert into 表名(字段1,字段2) values (值1,值2);
//向表中插入一条数据,但是只插入字段1和字段2.
insert into 表名(字段1,字段2) values (值1,值2),
(值1,值2),(值1,值2),(值1,值2);
//向表中插入4条数据,但是只插入字段1和字段2.
第十个命令:修改数据
update 表名 set 字段1 = 值1, 字段2=值2, 字段3=值3,…
//修改表中全部数据(指定字段)
update 表名 set 字段1 = 值1, 字段2=值2, 字段3=值3,… where
字段 = 值;
//修改表中符合条件(where后的条件)的数据(指定字段)
第十一个命令:删除数据
delete from 表名 where 字段 = 值;//删除满足条件的数据。
delete from 表名;//删除表中全部的数据
第十二个命令:查询数据
select 字段1,字段2,…
from 表名
where 条件
Mysql中的数据类型:
整数:
int 4字节,最多表示10位数。------------首选
smallint 2字节 最多表示5位数。
mediumint 3字节
tinyint 1字节 最多表示3位数。
bigint 8字节
小数:
float (m,d) m表示数的总长度,d表示小数点后几位。
double (m,d) m表示数的总长度,d表示小数点后几位。
decimal(m,d) m表示数的总长度,d表示小数点后几位。—首选
字符串:
varchar 变长字符串,能根据实际的字符串长度分配空间。-----短文本
char 定长字符串,指定多长就是多长。哪怕用不完也分配这么多。—固定长度的短文本
text 变长字符串,64k 用于存放大段文本。例如博客正文,新闻正文。—长文本
tinytext 0~255个字节。
mediumtext 比text更长的文本。16M这么大。
longtext 最大的文本。4G这么大。
二进制类型:—几乎不用。没有人把音频、视频等存在数据库里。而是存在
某些文件夹里。数据库存文件的路径。
blob 二进制类型。图片、音频、视频等。64k。
tinyblob 0~255个字节。
mediumblob 中型二进制 16M
longblob 大型二进制 4G。
日期类型:
date YYYY-MM-DD 例如:‘2019-04-22’
time HH:MM:SS 例如:‘16:16:32’
datetime YYYY-MM-DD HH:MM:SS-----首选
mysql的配置文件 叫 my.ini
默认mysql允许传输的最大字节数是1M(不同的系统不一样)
如果你字段类型是 mediumtext或者longtext,尽管字段允许很大的范围,
但是你的配置文件如果不允许的话,你还是保存不了那么大的内容。
你需要修改my.ini文件,来允许别人传输更大的字节数到mysql服务器。
在 [mysqld]下面添加一行max_allowed_packet=20971520。保存并重启
mysql服务器