一直只是在浅显利用数据库存储数据,也被windows惯坏了,很多命令使用的时候记不起来,so,换LINUX系统!不再使用GUI管理数据库!也想深入学习下Mysql,从权限管理开始!也就诞生了这篇学习笔记。
修改默认密码
Mysql新安装时默认root密码为空,极不安全!建议安装过后马上就修改。附修改方法:
mysqladmin -u root -p password
接下来按提示输入新密码即可!
命令详解:
mysqladmin -u root -p[oldpass] password newpass
注意oldpass可选,如果root默认密码为空,则不需要输入,如果需要更改前密码,请注意前密码与-p之间不要有空格,否则会报错,另外password和newpass之间以空格分隔。这当然是废话,给初学者看的!
基本命令
登录进入数据库
这个很简单:
mysql -u root -p
你将会看到以下命令提示符,表明正确进入了?
mysql>
可以输入help查看帮助信息。记得所有命令加上“;”这是语法规定。
命令解释:
mysql [-u username] [-h host] [-p[password]] [dbname]
如果不输入password,回车后会出现Enter password的提示。如果root密码为空,也不需要输入password,出现Enter password提示后回车即可。
【可以在登录时指定host名以及数据库名。这个host是你远程登陆别人数据库时对方的地址!】
附加一条链接给那些密码改了忘记的人: windows下mysql忘记root密码的解决办法
查看数据库
首先肯定是查看默认数据库了,使用命令:
mysql> show databases;
结果为:?
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
使用数据库
想使用某个数据库例如mysql这个数据库,使用use命令:
mysql> use mysql;
结果提示数据库改变了表示正确运行。
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
库表基本操作
查看库中的表
进入数据库了,接下来查看表,还是show命令:
mysql> show tables;
以下为结果:
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)
好了,我们已经学会了一些简单的数据库操作,接下来我们开始创建自己的数据库,数据表!
创建数据库
简单命令:
create database mydata;
结果为:
Query OK, 1 row affected (0.00 sec)
提示已经成功。接下来我们用查看表命令,show:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydata |
| mysql |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)
好了,自己的数据库创建成功,先看看数据库里都有啥?答案肯定是什么都没有!我们查看一下:
mysql> use mydata;
Database changed
mysql> show tables;
Empty set (0.00 sec)
创建表
So,接下来创建一个简单的表(注意我们上面已经使用了mydada数据库,接下来创建的表在这个数据库里,我们只能在数据库里创建表):
mysql> create table table_name(name VARCHAR(20), age int);
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+------------------+
| Tables_in_mydata |
+------------------+
| table_name |
+------------------+
1 row in set (0.00 sec)
查看表的结构
成功之后,我们查看表的结构(使用describe):
mysql> describe table_name;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
插入数据到表
这时候表里面是没有数据的,插入数据(insert into):【说明:这里只是简单展示,更多详细命令请看官网文档(3000+页)】
mysql> insert into table_name values("The_Third_Wave", 100);
Query OK, 1 row affected (0.02 sec)
mysql> select * from table_name;
+----------------+------+
| name | age |
+----------------+------+
| Th