s 查看Mysql里的字符编码
net start mysql (mysqld没反应的解决方法,cmd 里面开启mysql服务)
mysql -uroot -padmin 用mysql自带的客户端登录服务器
-u 用户名 -p 密码 -h 服务器的ip -P端口号 在本机上执行客户端
show databases;查看所有数据库名称
use 数据库名称 选择某个数据库 就是进入文件夹
quit or exit 退出客户端
终止正在运行的mysql进程:
tasklist | findstr mysqld
taskkill /f /pid 后面加上上面中间的那个数字
create database 要建的库的名字
查看当前非严格模式 show varialbes like 'sql_mode';
修改为严格模式 set varialbes sql_mode = "STRICT_TRANS_TABLES"
use 后面加要运行的库
修改密码:
mysqladmin.exe -u要改的用户名 -p旧密码 password 新密码
破解密码:
可以在启动服务器时 告诉他 让他不要读取密码文件
1.在一个cmd中:mysqld --skip-grant-tables
2.再开一个cmd无密码登录服务器
3.使用update 来更新你的密码 在msyql.user表中
在客户端 update mysql.user set password = password("321") where user = "root" and host="localhost";
mysql中的user文件改什么用set来告诉他where添加条件只改名字叫root那个用户在本机上用这个密码,在别的计算机上用不同的密码)
4.重启服务 验证新密码
注册系统服务
1.添加环境变量
2.注册系统服务
mysqld --install
mysql基础
数据库服务器中存放的是 库(文件加) 表(文件) 表里面是记录(一行数据)
库的基本操作:
创建
create database 数据库名 charset 编码名称
修改
alter database 数据库名 charset gbk
查
show databases; 查看所有数据
show create database 数据库名 查看建库语句
删除
drop database 数据库名
表的基本操作:
创建
create table t1(id int,name char);
修改 改结构 alter table 表名 add | drop | modify | change 添加: add 后面跟 字段名 数据类型 例如:(alter table t1 add age int) 删除: drop 后面跟 字段名 例如:(alter table t1 drop age;) 修改表的总类: modify 后面跟 字段名 新类型 例如:(alter table t1 modify name char(10)); 修改表的字段名:change 后面跟 旧字段名 新的字段名 新类型 也可以修改type 例如:(alter table t1 change name NAME char(10)); 该属性 编码 alter table t1 charset gbk; 修改表的编码 表名 rename table 旧表名 to 新表名 查 show tables; 查看库里面所有的表 show create table 表名 查看建表语句 desc 表名 查看表结构(字段) 删除 drop table 表名 truncate table 表名, 重建表(清空数据)
记录相关 添加 insert into 表名 values(值1...),(值1....).... 例如(insert into t2 values(1,‘你’)) 插入时注意 值得顺序 和 类型必须与表结构一致 用value的时候只能加一条 修改 update 表名 set 字段名=新的值 where 条件 例如(update t2 set name='wo' where id=1) 可以同时修改多行 用逗号来隔开字段 没有条件就全改 查 select *|字段名 from 表名 *表示所有字段 删除 delete from 表名 where条件 没有条件就全删 引擎: show engines;查看引擎 InnoDB(默认引擎)因为永久存储并且支持事物支持事物例如:级别 行锁 外键 CSV(csv存储引擎).csv文件存储表内容特点:以csv格式进行数据存储 、所有列必须不能为null、不支持索引、可以对数据文件直接编辑,保存文本文件内容 MEMORY(内存)基础hash实现 存内存 做临时的表 BLACKHOLE(黑洞:空的存储,所有写入的都会消失) create table t1(id int)engine=innodb; create table t2(id int not null)engine=csv; create table t3(id int )engine=memory; create table t4(id int )engine=blackhole; 创建出来的文件在 data文件里面的自己存放的库里 insert into t1 value(1); insert into t2 value(1); insert into t3 value(1); insert into t4 value(1); 结果内存版的消失了(t3、t4)
整数类型: 表达的是宽度不是容量限制 create table t6(id tinyint); 有符号(最大保存127,最小值-128) insert into t6 value(255); show create table t6; select *from t6; 结果是不是255
create table t7(id tinyint unsigned)无符号(最大保存255) insert into t7 value(255); select *from t7 结果是255
create table t13(id int(10) zerofill); 整数模式下数据不足会用zerofill(0)补全