mysql运维
windows下登录mysql:mysql -uroot -p(在cmd下执行),然后输入密码即可
如果发现如图所下所示的内容,说明没有配环境变量
在系统变量Path下新增一条路径(到bin目录)即可
查询所有数据库:show databases;
选择某数据库:use test_database;(test_database是你的数据库名)
查询数据库种的所有表:show tables;
表信息操作:
select * from test_table;(test_table是你的表名)
truncate table test_table; 或者 delete from test_table where 1=1;(删除test_table的表数据保留表结构)
update test_table set table_column_name='123' where table_column_name='' (更新表的数据)
insert into table_name (列1, 列2,...) VALUES (值1, 值2,....) (插入数据)
数据导出操作:
select * from test_table into outfile 'C:/test.txt'
当我们第一次执行这种导出操作时会报这样的问题:
我们来查看一下secure-file-priv这个变量的值(show variables like '%secure%';)
secure-file-priv的值有三种情况:
- secure_file_prive=null ––限制mysqld 不允许导入导出
- secure_file_priv=/path/ – --限制mysqld的导入导出只能发生在默认的/path/目录下
- secure_file_priv=’’ – --不对mysqld 的导入 导出做限制
这时我们需要修改my.ini文件
打开my.ini,修改内容为下图
,
然后重启mysql(在服务中找到mysql,右键重启即可)
然后我们再次登录到mysql,查看secure的信息(可以看到secure_file_priv变成空了)
然后我们再次执行到处操作:
又出现了权限问题,别着急我们继续研究
最终我们通过如下方式成功导出,导出位置为C:/tmp/test.txt
导出为sql文件:
导出整个数据库:mysqldump -uroot -p databases_name > c:\test.sql
导出单个表的数据:mysqldump -uroot -p databases_name table_name > c:test_table.sql
导入sql数据到数据库:
先创建数据库
然后运行命令 :mysql -uroot -p database_name < c:\test.sql
mysql下载
最新版下载:MySQL :: Download MySQL Installer
历史版本下载:MySQL :: Download MySQL Installer (Archived Versions)
我选择最新的5.7版本,即5.7.37(注意mysql安装有两种方法,一种是msi安装,另一种是zip解压安装,第二种方法需要自己配环境,我觉得挺麻烦的还容易出错,所以我用的msi安装方式)
utf8_unicode_ci和utf8_general_ci的区别:
utf8_unicode_ci使用Unicode标准中定义的Unicode排序算法,而utf8_general_ci是一种更简单的排序算法,排序更快,但会导致"不太准确"的排序结果(这个不太准确可以忽略不计).
mysql查询时如何增加一个序号字段:
SET @row_number = 0; -- 注意这里不能直接使用,* SELECT @row_number:=@row_number+1,t.* FROM test_table t;