linux下mysql安装和使用

参考http://cycnet.blog.51cto.com/117809/812625


1:执行sudo apt-get install mysql-server my-client进行安装

2:安装过程中会弹出确认界面,使用tab键转到ok上,然后按enter即可

3:在安装过程中,会弹出一个界面要求输入mysql的root的密码,这里一定输入,省得安装后再设密码了

如果没设密码,那么mysql的root密码就是空了,安装完以后还可以再设置。

4:登录数据库命令:mysql -u root -p 回车后,输入我们前面所设的密码,就可以登录成功,如果前面没有设置那就是空,我们一般都要再root用户下进行操作,才有权限,建立表格等。

5:修改root密码

使用mysqladmin,这是前面声明的一个特例。 
mysqladmin -u root -p password mypasswd 
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 

http://www.linuxdiyf.com/viewarticle.php?id=620

6:以root用户登录以后就可以进行mysql操作了

8:从本地文本文件导入数据

http://www.jb51.net/article/21117.htm

查了些资料才发现Load Data的权限不对,有两种方法可以解决:

1、通过在/etc/mysql/my.cnf文件中添加local-infile = 1来修改权限是的可以加载本地文件。当然也可以通过local-infile = 0来禁止掉。修改my.cnf后必须重启mysql。

2、通过启动时,>mysql -uroot -ppassword --local-infile = [0|1] 来修改权限。


9:常用mysql操作

一、库操作
1、、创建数据库
命令:create database <数据库名>
例如:建立一个名为test的数据库
mysql> create database test; 
2、显示所有的数据库
命令:show databases
mysql> show databases;
3、删除数据库
命令:drop database <数据库名>
例如:删除名为 test的数据库
mysql> drop database test;
4、连接数据库
命令: use <数据库名>
例如:如果test数据库存在,尝试存取它:
mysql> use test;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> select database();
6、当前数据库包含的表信息:
mysql> show tables;


一、mysql服务操作 
0、查看数据库版本 sql-> status; 
1、net start mysql //启动mysql服务 
2、net stop mysql //停止mysql服务  
3、mysql -h主机地址 -u用户名 -p用户密码 //进入mysql数据库 
4、quit //退出mysql操作 
5、mysqladmin -u用户名 -p旧密码 password 新密码 //更改密码 
6、grant select on 数据库.* to 用户名@登录主机 identified by "密码" //增加新用户 
exemple: 
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。 
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 
如果你不想test2有密码,可以再打一个命令将密码消掉。 
grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 

二、数据库操作 
1、show databases; //列出数据库 
2、use database_name //使用database_name数据库 
3、create database data_name //创建名为data_name的数据库 
4、drop database data_name //删除一个名为data_name的数据库 

三、表操作 
1、show databases;//列出所有数据库 

use 数据库名; //到达某一数据库 

show tables //列出所有表 
create table tab_name( 
id int(10) not null auto_increment primary key, 
name varchar(40), 
pwd varchar(40) 
) charset=gb2312; 创建一个名为tab_name的新表 
2、drop table tab_name 删除名为tab_name的数据表 
3、describe tab_name //显示名为tab_name的表的数据结构 
4、show columns from tab_name //同上 
5、delete from tab_name //将表tab_name中的记录清空 
6、select * from tab_name //显示表tab_name中的记录 
7、mysqldump -uUSER -pPASSWORD --no-data DATABASE TABLE > table.sql //复制表结构 

四、修改表结构 
1、 ALTER TABLE tab_name ADD PRIMARY KEY (col_name) 
说明:更改表得的定义把某个栏位设为主键。 
2、ALTER TABLE tab_name DROP PRIMARY KEY (col_name) 
说明:把主键的定义删除 
3、 alter table tab_name add col_name varchar(20); //在tab_name表中增加一个名为col_name的字段且类型为varchar(20) 
4、alter table tab_name drop col_name //在tab_name中将col_name字段删除 
5、alter table tab_name modify col_name varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据 
SQL Server200下的写法是:Alter Table table_name Alter Column col_name varchar(30) not null; 
6、如何修改表名:alter table tab_name rename to new_tab_name 
7、如何修改字段名:alter table tab_name change old_col new_col varchar(40); //必须为当前字段指定数据类型等属性,否则不能修改 
8、create table new_tab_name like old_tab_name //用一个已存在的表来建新表,但不包含旧表的数据 

五、数据的备份与恢复 
导入外部数据文本: 
1.执行外部的sql脚本 
当前数据库上执行:mysql < input.sql 
指定数据库上执行:mysql [表名] < input.sql 
2.数据传入命令 load data local infile "[文件名]" into table [表名]; 
备份数据库:(dos下) 
mysqldump --opt school>school.bbb 
mysqldump -u [user] -p [password] databasename > filename (备份) 
mysql -u [user] -p [password] databasename < filename (恢复) 

六、卸载 
卸载mysql:sudo apt-get remove mysql-server mysql-client 
sudo apt-get autoremove

//主键549830479

   alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);

//增加一个新列549830479

   alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';

//删除列549830479

   alter table t2 drop column c;

//重命名列549830479

   alter table t1 change a b integer;


//改变列的类型549830479

   alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';

//重命名表549830479

   alter table t1 rename t2;

加索引549830479

   mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);

加主关键字的索引549830479

mysql> alter table tablename add primary key(id);

加唯一限制条件的索引549830479

  mysql> alter table tablename add unique emp_name2(cardnumber);

删除某个索引549830479

   mysql>alter table tablename drop index emp_name;

修改表:549830479

增加字段:549830479

   mysql> ALTER TABLE table_name ADD field_name field_type;

修改原字段名称及类型:549830479

   mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

删除字段:549830479

   mysql> ALTER TABLE table_name DROP field_name; 

在命令行中:date +%s 可以显示现在时间的秒数

在mysql中:select from_unixtime(1293508635); 可将时间转化成对应的秒数
           select unix_timestamp('2010-12-28 11:57:15'); 可将秒数转化成对应的时间


select FROM_UNIXTIME(update_time,'%Y%m%d') from mobilephone limit 20;

UNIX_TIMESTAMP()是与之相对正好相反的时间函数

SELECT UNIX_TIMESTAMP('2009-08-06')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zlingh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值