Mysql基本操作

一、  更改密码

1.新装的mysql是没有密码的,如图:

# mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.0.45Source distribution


Type 'help;' or '\h' for help. Type '\c' to clear thebuffer.


mysql>


2.修改登录密码

#usr/bin/mysqladmin -u root password 'new-password' 

如在已有密码的情况下修改

#usr/bin/mysqladmin -u root –ppassword 'new-password'

Enter password:   这里输入旧密码,回车即可


3.如果遇到如下错误 

# mysqladmin -uroot -p password ’newpassword’
Enter password:
mysqladmin: connect to server at ’localhost’ failed
error: ’Access denied for user ’root’@’localhost’(using password: YES)’

解决如下:

# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <
输入新设的密码newpassword>
mysql>


二、 mysql命令使用技巧

1.将SQL语句写入到一个文本文件中(我们称之为SQL脚本文件),然后使用输入/输出重定向让mysql从该文件读取输入。

这样像你在使用mysql依次执行文本文件中的那些SQL命令一样:

# mysql -p db_name < mysql.txt

比如:#cat mysql.txt 内容为

use mydb;

create table kk(id int);

意思是在库mydb中建立以表为kk


如是交互模式下,这样操作:

mysql> source mysql.txt;


2.mysqladmin的语法为

①  创建数据库 #mysqladmin –p create db_name

②  删除数据库 #mysqladmin –p drop db_name

③  查看服务器状态 #mysqladmin –p extended-status

④  重载授权表(类似reload)#mysqladmin –p flush-privileges

⑤  关闭服务器 #mysqladmin –p shutdown


三、   SQL语言基础

1. 数据库格式,下面是一个书店的分类表


在该表格中,编号、书名、作者、进货日期、价格、数量就是不同的列,而每一行保存的则是具体的数据


2. 操作mysql <一条sql语句结束一定要用分号“;”>

 #mysql –h <hostname> -u <username> -p

 -h 指定连接的服务器,接主机名或IP  <登录本机不需要此参数>

 -u 指定登录用户名 <不加此参数,默认用root用户>

 -p 指定密码

 mysql> show databases;            列出所有库

 mysql> drop database db_name;     删除一个库

 mysql>create database db_name;    建立一个库

 mysql>use db_name;                使用某个库

 mysql>create table table_name(    建表

->id int not null primary key,编号(主键,不可重复),不为空

->bookname text,              指定书名类型(文本)

->write text,                 指定作者类型(文本)

->bookdate date not null,     指定出版日类型(日期),不为空

->price float,                指定价格类型(字符型)

->amount int,                 指定页数类型(整型)

->);                          结束语句,以;结尾

mysql>show tables;              列出表

mysql>desc table_name;          查看表结构

mysql>drop table table_name;    删除表


3. 向数据库中添加数据

mysql>insert into table_name set

->id=1,

->bookname=”linux”,

->write=”tony”,

->bookdate=”2010-05-01”,

->price=75,

->amount=50;


4. 查询数据库中的数据

①mysql>select * from table_name;     查询table中所有信息

②mysql>select bookname,price from table_name; 查询特定信息

③mysql>select count(*) from table_name;查询有多少条记录信息

④mysql>select bookdate from table_name

   ->where bookdate>=2006-01-01;

查询出版日期大于或等于2006.1.1的记录

⑤mysql>select bookname from table_name

   ->where bookname like “%linux%”;

      查询书名中包含linux的记录

⑥mysql>select bookname,bookdate from table_name

   ->where

   ->bookname like “%linux%” and

   ->bookdate >=”2006-01-01”;

      这是组合使用查询


5. 修改表中存储的数据

①mysql>update table_name set bookdate=”2007-01-01” where id=1;把编号为1的书出版日期改为2007-01-01

②mysql>update table_name set bookdate=”2007-01-01” where bookname like “%linux%”;改变书名中包含linux的出版日期


6. 删除表中存储的数据

 Mysql>delete from table_name where bookname like “%linux%”;删除书名中包含linux的记录


四、   mysql用户与权限

1. 添加一个mysql用户

两种方式:①使用grant语句 ; ②使用mysql授权表

mysql>grant all privileges on *.*  to tony@192.168.0.254’

   ->identified by ’123456’ with grant option;

详解:all privileges    所有权限;

      *.*               所有库的所有表;

      tony@192.168.0.254  赋予用户tony只能在192.168.0.254这个IP可以登录访问;

      identified by ‘123456’  设定tony的密码

      with grant option         允许tony把权限赋予其他用户


2. 删除一个用户

 首先必须拥有mysql数据库德全局create user或delete权限

 mysql>drop user tony@192.168.0.254;