发表时间:2009-10-14
最后修改:2009-10-14
一下是自己学习MySQL时整理的笔记,希望对学习MySQL同学有用,避免多走弯路
1.下载绿色版MySQL
到官方网站下载最新版的绿色版MySQL(http://dev.mysql.com/downloads/),然后解压到自己想要安
装的目录,在解压后的目录中把my-large.ini另存为my.ini,修改数据库的默认编码为UTF-8。在[mysql]
和[mysqld]后面添加
default-character-set=utf8
例如:
port = 3306
socket = /tmp/mysql.sock
之后添加
[mysql]
default-character-set=utf8
然后下面
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
……
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
之后添加
default-character-set=utf8
2.安装服务:
在命令行切换到bin目录下,执行mysqld -install
3.启动(关闭)服务
net start(stop) mysql
4.卸载服务
mysqld -remove
5.给root用户添加(修改密码)密码manage(root初始密码为空)
在bin命令行下输入:
mysqladmin -uroot -p password manage
输入密码时直接按回车(修改时输入原来密码)
6.登陆MySQL
mysql -uroot -pmanage
7.show databases<wbr></wbr>
8.use test;<wbr></wbr>
9.desc mytable;<wbr></wbr>
10.显示表空间的字符编码
status;
11.更改表的字符集。
mysql> alter table users character set GBK;
12.清空users表中的数据
mysql> truncate table users;
13 . SQL语句运用实例:
1 建users表
create table users (id int primary key auto_increment,nikename varchar(20) not null
unique,password varchar(100) not null,address varchar(200), reg_date timestamp not null
default CURRENT_TIMESTAMP);
--2 建articles表,在建表时设置外键
create table articles (id int primary key auto_increment,content longtext not null,userid
int,constraint foreign key (userid) references users(id) on delete set null);
-----------------------------------------------------------------------
--2.1 建articles表,建表时不设置外键
create table articles (id int primary key auto_increment,content longtext not null,userid
int);
--2.2 给articles表设置外键
alter table articles add constraint foreign key (userid) references users(id) on delete
set null;
------------------------------------------------------------------------
--3. 向users表中插入数据,同时插入多条
insert into users (id,nikename,password,address) values (1,'lyh1','1234',null),
(10,'lyh22','4321','湖北武汉'),(null,'lyh333','5678','北京海淀');
--4. 向article中插入三条数据
insert into articles (id,content,userid) values (2,'hahahahahaha',11),
(null,'xixixixixix',10),(13,'aiaiaiaiaiaiaiaiaiaiaiaia',1),(14,'hohoahaoaoooooooooo',10);
--5. 进行多表查询,选择users表中ID=10的用户发布的所有留言及该用户的所有信息
select articles.id,articles.content,users.* from users,articles where users.id=10 and
articles.userid=users.id order by articles.id desc;
--6. 查看数据库引擎类型
show create table users;
--7. 修改数据库引擎类型
alter table users engine=MyISAM; ---因为users表中ID被设置成外键,执行此句会出错
14.这样建数据库,默认编码是UTF-8
CREATE DATABASE sq_shiyan default character set utf8;
15.创建本地用户
GRANT ALL PRIVILEGES ON sq_shiyan.* to sq_shiyan@localhost<wbr></wbr> IDENTIFIED BY 'shiyan';
16.创建远程用户
GRANT ALL PRIVILEGES ON sq_shiyan.* to sq_shiyan@"%" IDENTIFIED BY 'shiyan';
17.数据库的备份与还原
MySql的备份可用命令mysqldump ,使用方法很简单,mysqldump -u 用户名 -p (密码) -h 主机名 数据
库名 >路径/备份名.bak;同时也可以是用mysqldump到处数据结构(tablename.sql)和数据
(tablename.txt) mysqldump -u 用户名 -p (密码) -h 主机名 数据库名 tablename1 tablename2 >
back.sql或mysqldump -u 用户名 -p (密码) -h 主机名 数据库名 --tab 路径 --opt 数据库名.
EXA:
mysqldump -u pivot -p pivot news > c:\news.sql
那么还原可以mysql命令,mysql -u 用户名 -p (密码) -h 主机名 --one-database 还原数据库名 <
路径/备份名.bak,--one-database是指定要恢复的数据库.
EXA:
mysql -u pivot -p pivot news < c:\news.sql
(括号表示密码不先输入,在连接时在Enter password;若密码为空可缺省-p参数)