蚂蚁爱吃糖 2011-08-01
Mysql基本操作
安装与配置MYSQL
altertablewebgame_new_user_preserving_achievochangepromition_datepromition_datedate;
altertablemembersaddcolumn`dau`int(11)NOTNULLdefault'0'
altertablemembersaddcolumn`ugc_total_num`int(11)NOTNULLdefault'0'
修改:
altertableuser_favoritechange`create_time``create_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'收藏夹创建时间';
altertablefavorite_picchange`create_time``create_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'图片收藏时间';
---------------
常用命令
1.mysql的启动与停止
启动MYSQL服务netstartmysql
停止MYSQL服务netstopmysql
2.netstat–na|findstr3306查看被监听的端口,findstr用于查找后面的端口是否存在
3.登陆MYSQL控制台
mysql–u用户名–p密码-h主机IPdb_name
4.进入MYSQL命令行工具后,使用status;或\s查看运行环境信息
5.显示所有数据库:showdatabases;
6.切换数据库:usenew_dbname;
7.显示数据库中列表:showtables;
8.显示某个表创建时的全部信息:showcreatetabletable_name;
9.查看表的具体属性信息及表中各字段的描述Describetable_name;缩写形式:desctable_name;
常用SQL语句
1.
数据库创建:Createdatabasedb_name;
例:createtableusers(
idintprimarykeyauto_increment,
nikenamevarchar(20)notnullunique,
passwordvarchar(100)notnull,
addressvarchar(200),
reg_datetimestampnotnulldefaultCURRENT_TIMESTAMP);
数据库删除:Dropdatabasedb_name;
删除时可先判断是否存在
例:dropdatabaseifexitsdb_name
2.
建表:createtabletable_name(字段1数据类型,字段2数据类型);
例:createtablemytable(idint,usernamechar(20));
删表:droptabletable_name;
例:droptablemytable;
3.
表结构的修改
增加一个字段格式:
altertabletable_nameaddcolumn(字段名字段类型);
指定字段插入的位置:
altertabletable_nameaddcolumn字段名字段类型after某字段;
删除一个字段:
altertabletable_namedrop字段名;
修改字段名称/类型
altertabletable_namechange旧字段名新字段名新字段的类型;
改表的名字
altertabletable_namerenametonew_table_name;
4.
添加数据:Insertinto表名[(字段1,字段2,….)]values(值1,值2,…..);
如果向表中的每个字段都插入一个值,那么前面[]括号内字段名可写也可不写
例:insertintomytable(id,username)values(1,’zhangsan’);
5.
查询
一般查询结构:
select*fromtable_name
where...
groupby...
having...
orderby...
limit...;
例:selectid,usernamefrommytablewhereid=1orderbydesc;
6.
更新指定数据,更新某一个字段的数据(注意,不是更新字段的名字)
Updatetable_nameset字段名=’新值’[,字段2=’新值’,…..][whereid=id_num][orderby字段顺序]
例:updatemytablesetusername=’lisi’whereid=1;
Order语句是查询的顺序,如:orderbyiddesc(或asc),顺序有两种:desc倒序(100—1,即从最新数据往后查询),asc(从1-100),Where和order语句也可用于查询select与删除delete
7.
删除表中的信息:
删除整个表中的信息:deletefromtable_name;
删除表中指定条件的语句:deletefromtable_namewhere条件;
8.
创建数据库用户
CREATEUSERusername1identifiedBY‘password’,username2IDENTIFIEDBY‘password’….
9.
用户的权限控制
将某个库中的某个表的控制权赋予某个用户
GrantallONdb_name.table_nameTOuser_name[indentifiedby‘password’];
10.
增加主键,外键,约束,索引
约束--主键Primarykey、唯一性Unique、非空NotNull
自动增张--auto_increment
外键--Foreignkey,与referencetable_name(col_name列名)配合使用,建表时单独使用
删除多个表中有关联的数据--设置foreignkey为setnull
11.
查看数据库当前引擎
SHOWCREATETABLEtable_name;
修改数据库引擎
ALTERTABLEtable_nameENGINE=MyISAM|InnoDB;