mysql基础和应用
{
centos环境
 
启动
/etc/init.d/mysqld start
 
连接和退出服务器
mysql -h 主机地址 -u 用户名 -p 用户密码
exit
 
密码管理
原来为空:mysqladmin -u 用户名 password 新密码
修改密码:mysqladmin -u 用户名 -p 旧密码 password 新密码
!!!!注意:我尝试了几次,修改密码都是错误
后来这样就成功了,就是“-p旧密码”中间不要有空格。很奇怪,或许跟系统有关系吧
 
增加新用户
mysql> grant all privileges on *.* to huazi@localhost identified by "huazi";
Query OK, 0 rows affected (0.00 sec)
!!!!注意:一定要有“;”,系统也是判定它作为语句结束的。
 
命令历史记录
不用说了吧,上下键啊,一猜就猜到咯
 
显示数据库列表
show database;
系统初始数据库:MySql和test。mysql数据库保存了MySQL的系统信息,数据字典,用户和密码等
信息。用户修改密码和新增用户,其实就是对这个数据库操作。
 
打开数据库,显示表
use 数据库名;
show tables;
 
显示数据表的表结构
describe 表名;
 
新建数据库
create database 库名;
drop database if exists school;
}
 
mysql管理和维护
{
数据导入
load data local infile "filename" into table 表名;
[root@huazi ~]# vi /tmp/student.txt
jing   \N      beijing 1998
azhi    23      guangzhou       2000
!!!注意:null用\N表示,字段用tab键隔开
mysql> load data local infile "/tmp/student.txt" into table table1_huazi;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
mysql> select * from table1_huazi;
+-------+------+-----------+-------+
| name  | age  | address   | birth |
+-------+------+-----------+-------+
| ajing | NULL | beijing   | 1998  |
| azhi  |   23 | guangzhou | 2000  |
+-------+------+-----------+-------+
2 rows in set (0.00 sec)
 
备份数据库
[root@huazi ~]# mysqldump --help | grep "\-\-opt"
  --opt               Same as --add-drop-table, --add-locks, --create-options,
--add-drop-table 
这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,
这样可以保证导回MySQL数据库的时候不会出错,
因为每次导回的时候,都会首先检查表是否存在,存在就删除 
--add-locks 
这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。
这就防止在这些记录被再次导入数据库时其他用户对表进行的操作。
 
导出数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
[root@huazi ~]# mysqldump -u huazi -p --opt database_huazi>/tmp/database_huazi.db
Enter password: 
 
导出某个表   
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
[root@huazi ~]# mysqldump -u huazi -p database_huazi table1_huazi>/tmp/table1_huazi.bak
Enter password: 
 
导出结构
mysqldump -u wcnc -p -d 数据库名> 导出的文件名(-d表示没有数据)
[root@huazi ~]# mysqldump -u huazi -p -d --add-drop-table \
> database_huazi>/tmp/huazi.db
Enter password: 
 
导入数据库
mysql> use database_huazi;
Database changed
mysql> source /tmp/database_huazi.db
Query OK, 0 rows affected (0.00 sec)
 
Query OK, 0 rows affected (0.00 sec)
 
Query OK, 0 rows affected (0.00 sec)
 
Query OK, 0 rows affected (0.00 sec)
}