首页 > 代码库 > mysql相关知识
mysql相关知识
1.开启与关闭mysql服务:
在运行中输入 services.msc 查看mysql是否开启
在命令行中通过命令来开启和关闭数据库
开启 net start mysql
关闭 net stop mysql
2.Mysql数据库root密码重置
1) 停止mysql服务器 运行输入services.msc 停止mysql服务
2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
3) 新打开cmd 输入mysql -u root -p 不需要密码
use mysql;
update user set password=password(‘abc‘) WHERE User=‘root‘;
4) 关闭两个cmd窗口 在任务管理器结束mysqld 进程
5) 在服务管理页面 重启mysql 服务
密码修改完成
3.配置
1) 配置mysql 默认字符集
默认latin1 等价于 ISO-8859-1 改为 utf8
2) Include Bin Directory in Window Path 将mysql/bin 目录配置环境变量path ---- 勾选
3) 输入超级管理root 密码
4.查看mysql服务
在运行中输入 services.msc
在使用mysql之前,要确保mysql服务开启.
在服务器可以通过右键属性,设置服务手动开启,这样这个服务就不会跟随电脑开机启动。
可以在命令行上通过命令来开启与关闭服务器
开启 net start mysql
关闭 net stop mysql
5.操作mysql数据库
1.mysql默认的客户端
默认的客户端连接的是 localhost 3306这个数据库服务器.
2.在命令行下操作
1. mysql -u root -p 回车
输入密码 root
这种方式,默认连接的也是localhost 3306这个数据库服务器
-u 代表用户
-p 代表
2. mysql -u root -h localhost -P 3306 -p
输入密码 root
-h 代表的是服务器的主机地址
-P 代表的是端口号
创建数据库
1.使用默认的字符集与校对
create database 数据库名;
2.可以指定数据库字符
create database 数据库名 CHARACTER set gbk;
3.可以指定数据库字符与校对
create database 数据库名 character set 编码 COLLATE 校对
查看数据库
查看当前数据库服务器下所有数据库
show databases;
查看创建数据库的语句
show create database 数据库名;
修改数据库
修改数据库操作我们很少使用,了解一下语法就可以。
修改数据库的编码集
alter database 数据库名称 character set 编码 collate 校对
删除数据库
删除数据库
drop database 数据库名
其它关于库的操作
1.切换数据库
use 数据库名称
2.查看当前所使用的事数据库
select database();
关于mysql中的数据类型:
char与varchar区别?
char是一个定长字符串.指定长度不会随着内容的不足而改变
varchar是一个可变长度的字符串,它根据信息自动改变长度.(只在字符串长度小于指定长度情况下
创建表与约束
1.创建表
1.创建表---使用默认的字符集与校对
create table 表名(
字段1 类型,
字段2 类型,
.....
);
2.创建表--指定字符集与校对
create table 表名(
字段1 类型,
字段2 类型,
.....
) character set 字符集 collate 校对;
表名后面的内容需要使用“()”括起来,里面的内容是表结构,由列名和列类型组成,列名与列类型之间用空格隔开,每一列之间用逗号隔开,最后一列后面不需要加逗号,语句结束后需要加“;”。
2.约束
它是用于限定表中字段。
我们在mysql课程中会介绍5种约束(注意:数据库中一共有六种约束,而mysql只支持五种)
l 主键约束
主键是用于标识当前记录的字段。它的特点是非空,唯一。
在开发中一般情况下主键是不具备任何意义,只是用于标识当前记录。
创建主键:
1.在创建表时,在字段后面加上 primary key.
create table tablename(
id int primary key,
.......
)
2.也可以表创建的最后来指定主键create table tablename(
id int,
.......
primary key(id)
)
3.删除主键:alter table tablename drop primary key ;
l 唯一约束
某一列的值不为重复可以使用唯一约束.unique
l 非空约束
not null
l 默认值约束
default 值
l 外键约束
自动增长 auto_increment
扩展:
mysql : auto_increment 自动增长
sqlserver: identity(1,1)
oracle:sequence序列
表操作-查看修改删除表
1. 查看表
l 查看表结构
desc 表名;
l 查看当前数据库下所有表
show tables;
l .查看表的字符编码集
show create table 表名;
2. 修改表
l 修改表的结构语法格式:alter table 表名 关键字 ….;
关键字有以下几个:
1.add----添加列操作 alter table 表名 add 列名 类型;
2.modify--修改列的类型 alter table 表名 modify 列名 类型;
3.drop --删除列 alter table 表名 drop 列名.
4.change--修改列名称 alter table 表名 change 旧列名 新列名 类型;
l 修改表的名称
rename table 旧表名 to 新表名;
l 修改表的字符编码集
alter table 表名 character set 字符集;
记录操作-insert操作
插入所有列值
insert into 表名(列名1,列名2, ...) values(列值1, 列值2, ...);
表名后面是当前表中所有字段名称
插入部分列值
: insert into 表名(列名1,列名2) values(列值1, 列值2);
表名后面是当前表中部分字段名称
不指定列名
: insert into 表名 values(列值1, 列值2, ...);
l 没有给出要插入的列,那么表示插入所有列;
l 值的个数必须是该表的列的个数;
l 值的顺序,必须与表创建时给出的列的顺序相同。
插入操作注意事项
l 插入的数据应与字段的数据类型相同
l 数据的大小应该在列的长度范围内
l 在values中列出的数据位置必须与被加入的列的排列位置相对应。
l .除了数值类型外,其它的字段类型的值必须使用引号引起。
l 如果要插入空值,可以不写字段,或者插入 null.
注意:对于自动增长的列在操作时,直接插入null值即可.
char与varchar区别?
char是一个定长字符串.指定长度不会随着内容的不足而改变
varchar是一个可变长度的字符串,它根据信息自动改变长度.(只在字符串长度小于指定长度情况下)
具体见电脑中mysql笔记
mysql相关知识