学习MySql知识点
1.Window2000下的安装.A.安装目录最好(应该是一定要)是C:/, 以前有几次没看清楚说明,安装在D盘,结果启动不了。
B.安装成为启动服务:mysqld-nt --install
卸载服务:mysqld-nt --uninstall
移除服务:mysqld-nt --remove
启动服务:net start mysql
停止服务:net stop mysql
2.连接以及用户的管理
A.连接MySql数据库: mysql -h host -u user -p
比如用root登陆: mysql -h localhost -uroot -p
B.断开连接:quit或exit
C.新建用户(用户名为tom,密码为123):
用root连接到数据库,然后用以下的命令:
grant all privileges on *.* to 'tom'@'localhost' identified by '123' with grant option;
或grant all privileges on *.* to 'tom'@'%' identified by '123' with grant option;
或insert into user values('localhost','tom',password('123'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql 里创建自动编号字段:
CREATE TABLE `table1` (`id` int(6) unsigned NOT NULL auto_increment, PRIMARY KEY (`id`))
(int的一种,才可以,然auto_increment)
在一个MYSQL的表里面,如果原来已经有一万条记录了,清空后,怎么能让它从1开始,而不是从10001开始!
TRUNCATE your_table;
alter table your_table auto_increment = 1;
用文本方式将数据装入一个数据库表
如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。
创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在
CREATE TABLE语句中列出的列次序给出,例如:
abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa
使用下面命令将文本文件“mytable.txt”装载到mytable表中:
mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet;
执行sql脚本: myql>source d:/aa.sql
mysql数据导出和导入:
参考文章:MySQL数据导入导出方法与工具介绍
http://blog.csdn.net/davidullua/archive/2004/04/26/21980.aspx
http://blog.csdn.net/davidullua/archive/2004/04/26/21981.aspx
http://blog.csdn.net/davidullua/archive/2004/04/26/21982.aspx
主要工具:mysqldump.exe、mysqlimport.exe和mysql.exe.三者均在mysql/bin目录下。
mysqlcc.exe 另外安装
(一)导出
1、结构的导出
(1) 在mysqlcc中,选择某一表或者tables,按shift或者鼠标邮编,在弹出的快捷菜单中,选择"tool/show create".选择你要导出的表(可以多选,ctrl+a全选)
点击窗体下方的 execute.即可生成一个所选表结构的sql文件。
打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。
(2)mysqldump.exe
具体参数很多,可查看--help
主要有
-h hostname
-u username
-p 密码
--add-drop-table
这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除
--add-locks
这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作
-c or - complete_insert
这个选项使得mysqldump命令给每一个产生INSERT语句加上(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。
-f or -force 使用这个选项,即使有错误发生,仍然继续导出
-l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。
-t or -no-create- info
这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。
-d or -no-data 这个选项使的mysqldump命令不创建INSERT语句。
在您只需要DDL语句时,可以使用这个选项。
-T path or -tab = path 这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。
-w "WHERE Clause" or -where = "Where clause "
可以使用这一选项来过筛选将要放到导出文件的数据。
(3) mysql.exe
利用SELECT INTO OUTFILE 语法可以将数据导出到一个外部文件。具体语法略。
(二)导入
1、结构
(1)mysqlCC
打开sql查询窗口,粘入上面生成的sql脚本。执行,即可在新位置生成所有的表结构。
(2)mysqlimport
可用于载入数据
(3)mysql.exe
bin/mysql –p < /home/mark/New_Data.sql
可以运行/home/mark/New_Data.sql中指定的sql脚本
(三)例子
1、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。不需要数据
(1)
运行mysqlcc,连接到//gezhi211,选择javatest数据的某一表,选择"tool/show create",选择所有的表,
点"execute",得到一系列的sql create语句。复制,保存为e:/work/table.txt.
(2)
在语句最前面加上 以下几句
drop database if exists javatest;
create database javatest;
use javatest;
用以创建数据库javatest
(3)
连接到本地,在mysqlcc中打开一个sql查询窗口,粘进上面的sql语句,执行。则数据表结构成功导到本地。
或者打开一个cmd窗口,键入mysql <e:/work/table.txt,回车。
2、欲从//gezhi211上得到javatest数据库的数据表结构导出到本地。包括数据
方法:
(1)导出数据
mysqldump -h gezhi211 -u root --add-drop-table javatest >e:/work/backup/gezhi211javatest.txt
(2)
在语句最前面加上 以下几句
drop database if exists javatest;
create database javatest;
use javatest;
用以创建数据库javatest
(3)
导入数据
mysql -p <e:/work/backup/gezhi211javatest.sql.txt
附:利用mysqldump导出数据的时候,有时定义的索引值不能为关键字,否则会报错。解决方法,业务应该利用--fields-enclosed-by参数将字段名包含起来。有待进一步尝试。
mysql更改到UTF8字符集,通过命名行参数启动:
mysqld --default-character-set=utf8
本文地址:http://www.45fan.com/dnjc/71354.html