1.mysql的启动与停止
启动:net start mysql
停止:net stop mysql
2.命令行登录Mysql
mysql -u root -p
passowrd:******
status; 查看运行环境
3.mysql修改表名,列名,列类型,添加表列,删除表列
alter table test rename test1; --修改表名
alter table test add column name varchar(10); --添加表列
alter table test drop column name; --删除表列
1)alter table test modify address char(10) --修改表列类型
||2)alter table test change address address char(40)
alter table test change column address address1 varchar(30)--修改表列名
注意:
truncate关键字
TRUNCATE TABLE t 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。
但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。
如果想保留标识计数值,请改用 DELETE。
如果要删除表定义及其数据,请使用 DROP TABLE 语句。
|
4.一条SQL删除数据库中重复的记录(id重复);
delete from table_name where table_name.rowid not in ( select max(rowid) from table_name group by id ); |
5. 备份数据库
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p aikersql> aiker.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u aiker -p aikersql users> aiker_users.sql
3.导出一个数据库结构
mysqldump -u root -p -d --add-drop-table aikersql>d:/aiker_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4>导入 导出 数据库
常用source 命令
进入mysql数据库控制台,如mysql -u root -p
mysql>use 数据库
1)然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
2)mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet (如这里用到的.txt) 若希望导入过程忽略对外键的检查,set @@foreign_key_checks=0;
-> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
3)1导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如:mysqldump -u root -p cj>test.sql (压缩文件 test.sql.gz)
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 如:mysqldump -u root -p cj test>test.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库或表 mysql -u root -p cj<backupfile.sql
5.导出表数据:select * into outfile 'd:/mysql.txt' from tt;
mysql>source d:/aiker_db.sql
|
5.编码问题
1.显示variable_name的编码:show variables like '%char%';
2.插入中文字符时,先执行:set names gbk;
6.存储过程
1.查看某个数据库下的所有存储过程 : select name from mysql.proc where db='cj';
或者
select routine_name from information_schema.routines where routine_schema='数据库名';
或者
show procedure status where db='数据库名'
2.查看存储过程的详细: SHOW CREATE PROCEDURE 数据库.存储过程名; show procedure status\G//;
2.新建存储过程: delimiter // createa procedure p_XX() begin .. end ;// 执行:delimitetr ; call p_XX();
|