mysql 自己觉得经常用的语句

create database name default character set utf8;
use database;
show tables;
desc tablename;
drop database if exists dbname;
select count(*) as num from tablename;
select * from tablename;
select version();  //查看版本信息
select set @t=9;//声明变量
select $t*20;
select distinct(name) from tablename; //去除重复值
select concat("name:",name,"sex:",sex)as note from student;  //合并
select concat ("name:",name,"sex:",if(sex,"boy","girl"))as note from student where sex=0 and name like "%xiao%";
select current_date;  //查当前日期
select * from stu order by id desc limit 5; //排序
select name,briday from stu order by briday limit 1,2;
select distinct year(briday) as year from stu;
select length(name) from stu;  //按字节计算
select char_length(name) from stu;//不考虑字节按字符计算
select * from stu where briday<=(select briday from stu order by briday limit 1);//取出数据库里年龄最大的人的信息

update stu set birday="2012/12/12" where id=1;
exit;quit; //退出
show character set; //查看字符集
show collation;   //查看校对规则
show variables like "%character%";//字符集的环境变量
show variables like "%collation%";//字符集校对规则


alter table tablename modify price decimal(10,2);  //修改一个列

alter table tablename add primary key (列名); //增加一个列

alter table stu add briday int(10);

alter table tablename drop 字段;//删除一个列

alter table tablename change oldname newname;//重命名一个列



delete from tablename where id=4; 
insert into tablename(id,price) values (1,"56232541,25")
create table tablename(id smallint unsigned primary key auto_increment)engine=MyISAM default character set utf8;


grant all privileges on dbname .* to user@localhost identified by 'password'; //授权
use mysql;    //使用mysql里面的默认表
select user from user;   //查询mysql表里的所有用户
create user wenwen identified by 'wenwen';   //增加一个用户赋予一个密码
rename user wenwen to baby;        //修改用户
drop user baby;                  //删除用户
show grants for wenwen;  //查询该用户的权限
grant select on web .* to wenwen;  //给用户赋予select权限
grant insert,update on web.student to linlin;
grant all privileges on web .* to user@localhost identified by 'password'; //给用户赋予web库的所有权限
revoke select on web.* from wenwen;   //撤销用户权限
revoke insert,update on web.student from linlin;
revoke all privileges on web.* from user;

set password for wenwen = password("newpwd");  //修改指定用户的密码


mysqldump -uroot -p students>d:/students.sql  //导出

mysql -uroot -p web<d:/students.sql  //导入

source d:/student.sql        //使用资源


在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: 
mysqldump 

最常用的: 
mysqldump -uroot -pmysql databasefoo table1 table2 > foo.sql 

这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数 

C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_drv > e:\date_drv.sql 

mysql的数据导入也是相当便捷的,如: 
mysql -uroot databasefoo < foo.sql 

这样就可以将foo.sql的数据全部导入数据库databasefoo 





     1.导出整个数据库 

  mysqldump -u用户名 -p密码  数据库名 > 导出的文件名 
  C:\Users\jack> mysqldump -uroot -pmysql sva_rec  > e:\sva_rec.sql 

  2.导出一个表,包括表结构和数据 

  mysqldump -u用户名 -p 密码  数据库名 表名> 导出的文件名 
  C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql 

  3.导出一个数据库结构 
  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql 

     4.导出一个表,只有表结构 

  mysqldump -u用户名 -p 密码 -d数据库名  表名> 导出的文件名 
  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql 

  5.导入数据库 

  常用source 命令 
  进入mysql数据库控制台, 
  如mysql -u root -p 
  mysql>use 数据库 
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql) 
  mysql>source d:wcnc_db.sql

(1)查看表的存储类型(三种):

  • show create table tablename
  • show table status from  dbname  where name=tablename
  • mysqlshow  -u user -p password --status dbname tablename

  (2)修改表的存储引擎:

  • alter table tablename type=InnoDB

  (3)启动mysql数据库的命令行中添加以下参数使新发布的表都默认使用事务:

  • --default-table-type=InnoDB

  (4)临时改变默认表类型:

  • set table_type=InnoDB
  • show variables like 'table_type'

待续。。。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值