Mysql基础知识

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();




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值