作为初学者,要想取得进步,成为高手,首先应该了解自己的不足之处.
全部博文(117)
分类: Mysql/postgreSQL
2011-03-08 10:58:39
MySQL的介绍就不多说了,目前各大门户网站首选的数据库,免费、简单、可依赖。此文主要说明一些熟悉MySQL的操作,要想深入学习,还要参考多方资料。才疏学浅,请多指正。
实验准备
yum install mysql mysql-devele mysql-server
确认mysql启动
/etc/init.d/mysqld status
mysqld (pid 11741) 正在运行...
登录mysql
创建测试用户,可以从任意注意登录,赋予在所有表上的所有权限
grant all privileges on *.* to 'user01'@'%' identified by '123456';
查看
select * from mysql.user where user='user01' \G
刷新权限
FLUSH PRIVILEGES;
删除用户
drop user user01@'%';
退出、新用户登录
mysql -uuser01 -p -h 192.168.0.114
Enter password:
创建一个数据库test1
create database test1;
选择数据库test1
use test1;
查看表
show tables;
创建一个表
名称为tmp01,字段为,id、username、times,字段类型为int(2)、varchar(10)、date
create table tmp01(id int(2),username varchar(10),times date);
查看表结构
mysql> desc tmp01;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(2) | YES | | NULL | |
| username | varchar(10) | YES | | NULL | |
| times | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
插入记录
insert into tmp01 (id,username,times) values('1','ning','2012-12-12');
也可以不用指定字段名称,但是values后面的顺序应该和字段的排列顺序一致:
insert into tmp01 values('2','lianjie','2012-12-12');
查看插入的记录
mysql> select * from tmp01;
+------+----------+------------+
| id | username | times |
+------+----------+------------+
| 1 | ning | 2012-12-12 |
| 2 | lianjie | 2012-12-12 |
+------+----------+------------+
2 rows in set (0.00 sec)
更新记录
update tmp01 set username='abcd' where id='1';
注意:插入、更新字符串要加单引号
生成大量测试数据
insert into tmp01 select * from tmp01;
表的删除
注意:不管是单表还是多表,不加where条件将会把表的所有记录删除,所以操作时一定要小心。
delete from tmp01 where username='abcd';
简单的mysql登录问题
# mysql
ERROR 1045 (00000): Access denied for user: 'root@localhost' (Using password: NO)
注释: 1130报错信息说明不允许远程访问。没有给该用户授权
解决方法:
# /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>
小技巧
在用户目录(比如/root)下,创建.my.cnf隐藏文件,指定用户名和密码,可以在本机方便登录mysql。
# vim .my.cnf
[client]
user = user01
password = 123456