mysql命令行操作

来源:互联网 发布:安装解压版mysql步骤 编辑:程序博客网 时间:2024/05/17 06:06

一、从命令行登录MySQL数据库服务器
1、登录使用默认3306端口的MySQL
/usr/local/webserver/mysql/bin/mysql -u root -p

2、通过TCP连接管理不同端口的多个MySQL(注:MySQL4.1以上版本才有此项功能)
/usr/local/webserver/mysql/bin/mysql -u root -p --protocol=tcp --host=localhost --port=3306

3、通过socket套接字管理不同端口的多个MySQL
/usr/local/webserver/mysql/bin/mysql -u root -p --socket=/tmp/mysql.sock

4、通过端口和IP管理不同端口的多个MySQL
/usr/local/webserver/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1

二、数据库操作SQL语句
1、显示服务器上当前存在什么数据库
SHOW DATABASES;

2、创建名称为maps的数据库
CREATE DATABASE maps;

3、删除名称为maps的数据库
DROP DATABASE maps;

4、选择maps数据库
USE maps;


5、查看当前主机的运行情况
SHOW FULL PROCESSLIST;

三、数据库中表操作SQL语句
1、显示当前数据库中列表
SHOW TABLES;

2、创建数据库表maps_user:存储引擎为MYISAM,字段uid为主键、唯一索引。
CREATE TABLE `maps_user` (
`uid` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`username` VARCHAR( 20 ) NOT NULL ,
`password` CHAR( 32 ) NOT NULL ,
`dateline` INT(10) NOT NULL ,
PRIMARY KEY ( `uid` )
) ENGINE = MYISAM ;


3、查看maps_user表结构
DESCRIBE maps_user; // DESC maps_user;

4、从表中检索信息
4.1、从maps_user表中检索所有记录
SELECT * FROM maps_user;

4.2、从maps_user表中检索特定的行:字段username等于abc,按字段id降序排列
SELECT * FROM maps_user WHERE username = 'wan' ORDER BY id DESC;

4.3、从maps_user表中检索指定的字段:username和password
SELECT username, password FROM maps_user;

4.4、从maps_user表中检索出唯一的不重复记录:
SELECT DISTINCT username FROM maps_user;

5、插入信息到maps_user表
INSERT INTO maps_user (id, username, password, dateline) VALUES ('', 'wan', '123456', '1234231231');

6、更新maps_user表中的指定信息
UPDATE maps_user SET password = '123123' WHERE id = 12;

7、批量替换的SQL语句(将字符串aaa批量替换为bbb的SQL语句)
UPDATE 表名 SET 字段名 = REPLACE (字段名, 'aaa', 'bbb');
UPDATE maps_user SET dateline = REPLACE (dateline, '12231231', '126657333');


8、删除maps_user表中的指定记录
DELETE FROM maps_user WHERE id = 12;

9、清空maps_user表
DELETE FROM maps_user; 或 TRUNCATE maps_user;

10、删除maps_user表
DROP TABLE maps_user;

11、更改表结构,将maps_user表username字段的字段类型改为CHAR(25)
ALTER TABLE maps_user CHANGE username username CHAR(25);

12、导入.sql文件到mysql中
/usr/local/webserver/mysql/bin>mysql  -u  用户名 -p  数据库名  <   ./maps.sql    (将当前目录下的mysql.sql导入数据库) 或:SOURCE ./mysql.sql;
例如:
/usr/local/webserver/mysql/bin>mysql -u root -p test < ./maps.sql
Enter password: ****

13、UPDATE多表更新:
MySQL语法: UPDATE tablename SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]
MySQL示例: UPDATE tablea a, table b SET a.uid= b.uid, a.username= b.username WHERE a.id=b.id


14、对SQL语句的分析(DESC/EXPLAIN )
EXPLAIN SELECT * FROM maps_user WHERE username = 'wan' ORDER BY id DESC;

四、数据库权限操作SQL语句
1、创建一个具有root权限,可从任何IP登录的用户ctowoo,密码为123456
GRANT ALL PRIVILEGES ON *.* TO 'ctowoo'@'%' IDENTIFIED BY '123456';

2、创建一个具有“数据操作”、“结构操作”权限,只能从192.168.122.***登录的用户ctowoo,密码为123456
GRANT SELECT , INSERT , UPDATE , DELETE , FILE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON *.* TO 'ctowoo'@'192.168.122.%' IDENTIFIED BY '123456';

3、创建一个只拥有“数据操作”权限,只能从192.168.122.24登录,只能操作maps数据库的maps_user表的用户ctowoo,密码为123456
GRANT SELECT , INSERT , UPDATE , DELETE ON  maps.maps_user TO 'ctowoo'@'192.168.122.24' IDENTIFIED BY '123456';

4、创建一个拥有“数据操作”、“结构操作”权限,可从任何IP登录,只能操作maps数据库的用户ctowoo,密码为123456
GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON rewin.* TO 'ctowoo'@'%' IDENTIFIED BY '123456';

5、删除用户
DROP USER 'ctowoo'@'%';

原创粉丝点击