mysql常用语句

来源:互联网 发布:手机建筑图纸软件 编辑:程序博客网 时间:2024/06/16 00:59

net stop mysql----停止mysql
net start mysql----开始mysql

$connid = mysql_connect($host,$username,$password,1,131072) or die(mysql_error());--php调用mysql存储过程


mysql -hlocal -uroot -proot ----进入mysql
show databases;----显示数据库清单
create database database_name----创建数据库
drop database database_name----删除数据库
use database_name----选择使用的数据库

show tables----显示表清单
create table table_name----创建表
drop table table_name----删除表
create table new_table select * from table_name where 1<>1----复制表结构
create tbale new_table select * from table_name----复制表
desc table_name----显示表结构

select database()----显示单前使用的数据库
select user()----查询当期用户
select version()----查询数据库版本
\c----取消输入的命令或语句


alter table table_name add column column_name type,add column column_name2 type.....----增加表字段
alter table table_name drop column column_name,drop column column_name......----删除表字段
alter table table_name change src_column_name target_column_name integer not null----更改表字段名
alter table 表名 modify 列名 字段属性----更改表字段类型
alter table table_name_old rename as table_name_new----重命名表


select distinct [] from ----查询不重复的数据
select [] from ----查询表
insert into values----插入表数据
update [] set----更新表数据
delete from table_name where----删除表数据
truncate table 你的表名----这样不但将数据全部删除,而且重新定位自增的字段

count()----统计
sum()----求和
avg()----求平均
max()----求最大值
min()----求最小值


quit----退出mysql


mysqldump 命令用在数据库外
mysqldump -hlocalhost -uroot -proot database_name > /home/jxl/database.sql----导出数据库中的表
mysqldump -hlocalhost -uroot -proot database_name --add-drop-table > /home/jxl/database.sql----导出数据库中的表结构
mysql -hlocalhost -uroot -proot --comment database_name < /home/jxl/database.sql----将表导入数据库,带存储过程注释
mysqldump -hhostname -uusername -ppassword -ntd -R databasename > backupflie.sql----仅仅导出存储过程

mysqldump -hhostname -uusername -ppassword --opt --routines -d dbn > backup-file.sql----导出数据库中的表不含表中的数据和存储过程

mysqldump -hhostname -uusername -ppassword --opt --routines dbn > backup-file.sql----即导出存储过程又导出数据库中的数据

mysqldump -hhostname -uusername -ppassword -ntd -R --triggers databasename > backupflie.sql----导出存储过程、触发器、函数
其中的 -ntd 是表示导出存储过程;-R是表示导出函数  --triggers 是表示导出触发器



创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在Create TABLE语句中列出的列次序给出,
例如:
abccs f 1977-07-07 china  
mary f 1978-12-12 usa
tom m 1970-09-02 usa
load data local infile "mysqk.txt" into table table_name----装载文本文件到数据库

select * from tablename into outfile 'tmp.txt'----备份所选择的数据到指定位置


source 命令用在数据库内
source /home/jxl/database.sql----将表导入数据库
注:默认情况下mysql导入文件大小为2M,在php.ini中可修改相关参数,memory_limit=128M, upload_max_filesize=2M, post_max_size=8M,修改upload_max_filesize=200M这里修改满足你需要的大小,可以同时修改其他两项memory_limit=250M ,post_max_size=200M.这样就可以导入200M以下的.sql文件了。


mysqladmin 命令用在数据库内
mysqladmin -u用户名 -p旧密码 password 新密码----修改密码

grant select on 数据库.* to 用户名@登陆主机 identified by '密码' ----增加新用户
grant select,insert,update,delete on *.* to testname@"%" Identified by "pw"----增加一个testname用户密码为pw的全能用户(危险可在internet上访问主机)
grant select,insert,update,delete on db.* to test@localhost Identified by "pq"----增加一个test用户密码为pq的全能用户但只能从localhost上登陆
grant select,insert,update,delete on db.* to test@localhost Identified by ""----取消test用户密码


create index index_name on table_name(table_column_name)----创建索引
drop index index_name on table_name----删除索引
explain select * from mytable----查看是否使用索引
show index form table----显示表索引
注:使用索引的缺点
1)减慢增删改数据的速度;
2)占用磁盘空间;
3)增加查询优化器的负担;
当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案

truncate table 你的表名----这样不但将数据全部删除,而且重新定位自增的字段

show variables like 'charact%'; ----查看默认字符编码

查询数据库中的存储过程

方法一:

       select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' 

方法二:

         show procedure status;

0 0