您的位置:首页 > 数据库 > MySQL

mysql基础命令讲解

2013-05-20 11:39 537 查看
mysql基础命令讲解1、启动与关闭mysql方法一:启动 : /etc/init.d/mysqld start关闭:/etc/init.d/mysqld stop提示:/etc/init.d/mysqld 由/home/zhangjie/tool/mysql-5.1.62/support-files/mysql-server复制而来。方法二:启动:/usr/local/mysql/bin/mysqld_safe --user=mysql &关闭:killall mysqld
2、mysql登录无密码登录:mysql直接回车进入有密码登录:mysql -u root -p回车。输入正确的密码登录或 mysql -uroot -p'123456'回车。提示:这里的123456是mysql的密码,有一个弊端就是是明文,很容易让人通过history查到
3、退出mysql方法一:exit方法二:quit
4、设置修改mysql root 用户密码由于安装mysql后,默认管理员root密码为空,这很不安全,因此需要修改mysqladmin -u root password '123456'
修改root密码方法一:mysqladmin -u root -p'123456' password '654321'
注:-p'123456'中间无空格 password '654321'中间是有空格的方法二:>mysql UPDATE mysql.user SET password=PASSWORD("123456") WHERE user='root'>mysql flush privileges
5、如何找回丢失的mysql root用户登录密码单实例:killall mysqldmysqld_safe --skip-grant-tables &mysql -u root -p直接回车不要密码修改密码:>mysql UPDATE mysql.user SET password=PASSWORD("zhangjie") WHERE user='root'>mysql flush privileges;注:这里不能使用mysqladmin修改,只能无密码进入mysql后再通过 UPDATE更改密码多实例:

6、创建一个数据库创建一个默认的数据库: >mysql create database zhangjie_default;创建一个字符级为gbk的数据库:>mysql create database zhangjie_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;创建一个字符级为utf8的数据库: >mysql create database zhangjie_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

7、查看数据库>mysql show create database zhangjie_default;
8、显示所有的数据库>mysql show databases;查看单个数据库>mysql show databases like 'blog_utf8';
9、连接数据库>mysql use blog_gbk;查看我当前的数据库>mysql select database();查看mysql的版本>mysql select version();查看我当前所使用的用户>mysql select user();查看当前数据库包含的表信息>mysql show tables;
10、 查看当前数据库中所有的用户有哪些>mysql select user,host from mysql.user;
11、查看用户的权限>mysql show grants for root@localhost;
12、删除系统多余帐号>mysql drop user 'root'@'localhost'
13、创建用户并授予权限>mysql GRANT ALL on *.* TO 'blog'@'10.0.0.%' identified by '123456'
生产环境下主库用户的授权>mysql GRANT SELECT,INSERT,UPDATE,DELETE on blog.* TO 'blog'@'10.0.0.%' identified by '123456'生立环境下从库用户的授权>mysql GRANT SELECT ON blog.* TO 'blog'@'10.0.0.%' identified by '123456'
14、建表操作mysql> create table test(id int(4) not null primary key auto_increment,name char(20)not null);Query OK, 0 rows affected (0.04 sec)
查看表mysql> show tables;+---------------------+| Tables_in_blog_utf8 |+---------------------+| test |+---------------------+1 row in set (0.00 sec)
查看表结构mysql> desc test;+-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | |+-------+----------+------+-----+---------+----------------+2 rows in set (0.01 sec)
mysql> show columns from test;+-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | |+-------+----------+------+-----+---------+----------------+2 rows in set (0.00 sec)
查建表语句mysql> show create table test \G;*************************** 1. row *************************** Table: testCreate Table: CREATE TABLE `test` ( `id` int(4) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf81 row in set (0.00 sec)
ERROR: No query specified
注:mysql默认的引擎是MyISAM引擎
15、插入数据mysql> insert into test(id,name) values(1,'zhangjie'); Query OK, 1 row affected (0.00 sec)
mysql> select * from test;+----+----------+| id | name |+----+----------+| 1 | zhangjie |+----+----------+1 row in set (0.00 sec)
mysql> insert into test(name) values('botian');Query OK, 1 row affected (0.00 sec)
mysql> select * from test;+----+----------+| id | name |+----+----------+| 1 | zhangjie || 2 | botian |+----+----------+2 rows in set (0.00 sec)
mysql> insert into test(name) values('lubeijian');Query OK, 1 row affected (0.01 sec)
mysql> select * from test; +----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian |+----+-----------+3 rows in set (0.01 sec)
mysql> insert into test values(4,'elain'),(5,'wodi'); Query OK, 2 rows affected (0.00 sec)Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from test; +----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian || 4 | elain || 5 | wodi |+----+-----------+5 rows in set (0.00 sec)
mysql> insert into test(name) values('A'),('B'),('C');Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from test; +----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian || 4 | elain || 5 | wodi || 6 | A || 7 | B || 8 | C |+----+-----------+8 rows in set (0.00 sec)
16、备份数据库mysql> system mysqldump -u root -p'123456' -A -B >/tmp/zhangjiebak.sq
17、查看表中的内容
mysql> select * from test limit 2;+----+----------+| id | name |+----+----------+| 1 | zhangjie || 2 | botian |+----+----------+2 rows in set (0.00 sec)
mysql> select * from test limit 3;+----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian |+----+-----------+3 rows in set (0.00 sec)
mysql> select * from test limit 0,4;+----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian || 4 | elain |+----+-----------+4 rows in set (0.00 sec)
mysql> select * from test where id > 6;+----+------+| id | name |+----+------+| 7 | B || 8 | C |+----+------+2 rows in set (0.00 sec)
mysql> select * from test where id < 4;+----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian |+----+-----------+3 rows in set (0.00 sec)
mysql> select * from test where name='zhangjie';+----+----------+| id | name |+----+----------+| 1 | zhangjie |+----+----------+1 row in set (0.00 sec)
18、修改表中的数据先查一下表中的内容mysql> select * from test;+----+-----------+| id | name |+----+-----------+| 1 | zhangjie || 2 | botian || 3 | lubeijian || 4 | elain || 5 | wodi || 6 | A || 7 | B || 8 | C |+----+-----------+8 rows in set (0.00 sec)
将id=1的这一行中name改为oldboy,原来为zhangjiemysql> update test set name='oldboy'where id=1;Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0
再查一下表中的内容,发现已经改过来了mysql> select * from test;+----+-----------+| id | name |+----+-----------+| 1 | oldboy || 2 | botian || 3 | lubeijian || 4 | elain || 5 | wodi || 6 | A || 7 | B || 8 | C |+----+-----------+8 rows in set (0.00 sec)
19、删除表中的数据先查看一下表中的内容mysql> select * from test; +----+-----------+| id | name |+----+-----------+| 2 | botian || 3 | lubeijian || 4 | elain || 5 | wodi || 6 | A || 7 | B || 8 | C |+----+-----------+7 rows in set (0.01 sec)
删除id < 5的内容mysql> delete from test where id < 5;Query OK, 3 rows affected (0.01 sec)
再量一下表中id < 5的都已经没有了mysql> select * from test; +----+------+| id | name |+----+------+| 5 | wodi || 6 | A || 7 | B || 8 | C |+----+------+4 rows in set (0.00 sec)删除整个test表mysql> truncate table test;Query OK, 0 rows affected (0.00 sec)
mysql> select * from test; Empty set (0.00 sec)
19、在表中增加字段(dba操作)mysql> alter table test add sex char(4);Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0查看表中内容mysql> desc test;+-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | || sex | char(4) | YES | | NULL | |+-------+----------+------+-----+---------+----------------+3 rows in set (0.01 sec)在name之后添加一个age字段mysql> alter table test add age int(4) after name;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0查看表中内容mysql> desc test;+-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | || age | int(4) | YES | | NULL | || sex | char(4) | YES | | NULL | |+-------+----------+------+-----+---------+----------------+4 rows in set (0.00 sec)
20、删除表中的内容删除前查看表中内容mysql> desc test;+-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | || age | int(4) | YES | | NULL | || sex | char(4) | YES | | NULL | |+-------+----------+------+-----+---------+----------------+4 rows in set (0.00 sec)删除表中sex 这一列内容mysql> alter table test drop sex;Query OK, 0 rows affected (0.05 sec)Records: 0 Duplicates: 0 Warnings: 0再次查看验证mysql> desc test; +-------+----------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || name | char(20) | NO | | NULL | || age | int(4) | YES | | NULL | |+-------+----------+------+-----+---------+----------------+3 rows in set (0.00 sec)
21、更改表名先查看表名mysql> show tables; +---------------------+| Tables_in_blog_utf8 |+---------------------+| test |+---------------------+1 row in set (0.00 sec)使用rename修改表名mysql> rename table test to zhangjietest;Query OK, 0 rows affected (0.00 sec)再次查看修改后的表名mysql> show tables; +---------------------+| Tables_in_blog_utf8 |+---------------------+| zhangjietest |+---------------------+1 row in set (0.00 sec)使用 alter 修改表名mysql> alter table zhangjietest rename to zhangjie;Query OK, 0 rows affected (0.01 sec)查看是否修改成功mysql> show tables;+---------------------+| Tables_in_blog_utf8 |+---------------------+| zhangjie |+---------------------+1 row in set (0.00 sec)
22、删除整张表先查看都有哪些表mysql> show tables;+---------------------+| Tables_in_blog_utf8 |+---------------------+| zhangjie |+---------------------+1 row in set (0.00 sec)删除名为zhangjie的表mysql> drop table zhangjie;Query OK, 0 rows affected (0.01 sec)
再次查看都有哪些表,这里显示这个库里面已经没有表了,空了mysql> show tables; Empty set (0.00 sec)

本文出自 “张杰的技术博客” 博客,请务必保留此出处http://zhangjie.blog.51cto.com/539058/1204696
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: