table字符乱码:set character_set_results=gb2312;
1、显示数据库列表。
show databases;
2、显示库中的数据表:
use mysql;
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
6.1删除表中的多条数据或个别数据:
删除表中(第n条到第z条数据)
delete from 表名 where 表Id>=N and 表Id<=Z;
delete from yh_user where userId>=19 and userId<=81 ;
删除表中个别条数据:(删除第5、6、7条数据)
delete from yh_user where userId in(5,6,7);
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
9、在已经有的表中添加一个字段。表:yh_user ;字段:email ;类型:varchar(32)。
alter table yh_user add column email varchar(32) default null;
10、修改已经有的表中的字段。表:yh_user; 已经有的字段(原字段):id_unmber; 修改后字段:id_card;
alter table yh_user change id_number id_card varchar(32) default null;
11、修改已有的表中字段的数据类型,原来yh_phonemessage表中的phoneNumber int(8) default null,改为:phoneNumber int(15) default null;
alter table yh_phonemessage modify column phoneNumber int(15) default null;
12、删除表中的其中两条数据:delete from 表 where 表id=要删除的条数据的序列号;
delete from yh_phonemessage where phoneMessageId=1;
----------------------------------------------------------------------------------
1.导出整个数据库
mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql
2.导出一个表,包括表结构和数据 (在一个文件夹中按住shift在右击点击在此处打开命令窗口,出现命令界面:D:\javaProject\main\blogger-project>)
mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
D:\>mysqldump -uroot -pmysqladm yh_portal yh_user> d:/yh_user.sql
3.导出一个数据库结构
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
4.导出一个表,只有表结构
mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
5.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
例如:mysql>source d:/javaProject/Workspace/microservice-framework/schema/metro_project.sql;
mysql>source d:/javaProject/Workspace/microservice-framework/schema/user_service.sql;
假设导到E:\datedrop.sql
1、现在E盘创建datedrop.sql(空的0KB)
2、CMD下:输入mysqldump -u 用户名 -p?导出的数据库名 --add-drop-table>e:\datedrop.sql
3、CMD会提示输入密码:输入密码等待一会导出就OK了
--------------------------------------------------------------------------------------------
1:show databases;
查看所有的数据库,等同于select schema_name from information_schema.schemata\G。\G 替换;,以纵向报表的形式输出结果,有利于阅读。
2. status 查看mysql数据库的运行状态
3. use 命令选择数据库 例如 use information_schema,当使用此命令后
select schema_name from information_schema.schemata\G,可以为
select schema_name from schemata\G
4. 查看数据库中的表
show tables
同样也可以在information_schema中查看,show命令是方便使用的简短模式。
select table_name from tables where table_schema='jblog';
5. 查看表结构
desc table_name;
6.查看表状态 show table status from db like 条件
可以查看engine数据库引擎,version,row、index等信息
7.小技巧,当多行命令输入,发现错误后,用\c结束。
-------------------------------------------------------------
另,查询数据库运行状态的基本命令:
#查询数据库连接
show full processlist;
show status like '%Max_used_connections%';
show status like '%Threads_connected%';#当前连接数
show status like '%table_lock%';#表锁定
show status like 'innodb_row_lock%';#行锁定
show status like '%qcache%'; #查询缓存情况
show variables like "%query_cache%";
SHOW STATUS LIKE 'Qcache%';
show variables like "%binlog%";
show status like 'Aborted_clients';#由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
show variables like '%max_connections%';//查看最大连接数量
show variables like '%timeout%';#查看超时时间
show variables like 'log_%'; #查看日志是否启动
--------------------------------------------------------------------------------------------------------------------
三、一个建库和建表以及插入数据的实例
drop database if exists school; //如果存在SCHOOL则删除
create database school; //建立库SCHOOL
use school; //打开库SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表结束
//以下为插入字段
insert into teacher values('','glchengang','深圳一中','1976-10-10');
insert into teacher values('','jack','深圳一中','1975-12-23');
注:在建表中
(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null而且让他成为主字段primary key
(2)将NAME设为长度为10的字符字段
(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态进入目录\mysql\bin,然后键入以下命令:
mysql -uroot -p密码 < c:\school.sql
如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
四、将文本数据转到数据库中
1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.
例:
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
2、数据传入命令 load data local infile "文件名" into table 表名;
注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库 。
五、备份数据库:(命令在DOS的\mysql\bin目录下执行)
mysqldump --opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
后记:其实MYSQL的对数据库的操作与其它的SQL类数据库大同小异,您最好找本将SQL的书看看。我在这里只介绍一些基本的,其实我也就只懂这些了,呵呵。最好的MYSQL教程还是“晏子“译的“MYSQL中文参考手册“不仅免费每个相关网站都有下载,而且它是最权威的。可惜不是象"PHP4中文手册"那样是chm的格式,在查找函数命令的时候不太方便。
登陆后:
mysql>show variables like'%char%';
mysql>set character_set_database=utf8;
mysql>set character_set_server=utf8;
mysql>set character_set_client=gb2312;
mysql>set character_set_connection=gb2312;
mysql>set character_set_results=gb2312;
mysql>show variables like'%char%';
Mysql:
显示数据库中的表的内容:
1.status; //查看运行状态;
2.show databases; //显示所有数据库
3.use 数据库名称;
4.show tables; //查看数据库中的表
5.desc 表名称; //查看表结构
6.select * from 表名称; //查询表中的信息。