mysql常用命令格式--新手必备
mysql -h localhost -u root -p 进入mysql
mysql> show databases; 查看当前存在的数据库
mysql> create database 数据库名; 创建数据库
mysql> create table 新数据库名 select * from 需要复制数据库名
mysql> use 数据库名; 选择数据库
mysql> show tables; 查看数据中的表
创建数据库表
mysql> create table 表名(
-> id int not null auto_increment primary key,
-> username varchar(50) not null,
-> );
表列名 列类型 [列属性定义]
列属性:unsigned无负号 not null 非空 auto_increment 自增 zerofill 自动补0
primary key 主键 unique 唯一索引 index 常规索引(提高查询排序) fulltext 全文索引 key
列类型:tinyint smallint mediumint int/integer bigint float doule decimal
char varchar tinyblob tinytext blob text mediumblob mediumtext longblob longtext enum set
date time year datetime timestamp
char()和varchar()必须在圆括号内用一个大小修饰符来定义
ENUM 类型因为只允许在集合中取得一个值,有点类似于单选项
SET 类型可以从预定义的集合中取得任意数量的值
mysql> desc或describe 表名; 显示表的结构
mysql> show create table 表名; 显示表的内容
mysql> alter table 表名 modify 列名 改变后的属性 [first|after 列名];修改表内列属性
mysql> alter table 表名 add [first|after 列名] 添加一个新列和列类型
mysql> alter table 表名 drop 列名 删除列
mysql> alter table 表名 change 原列名 新列名 新列属性 [first|after 列名];
mysql> alter table 表名 rename [to] 新表名; 修改表名
dmysql> drop table 表名; 删除表
dmysql> drop database 数据库名;删除数据库
备份数据库及表:
c:\mysql\bin\>mysqldump –u root –p mysql>d:\backup.sql
备份多个数据库表:
c:\mysql\bin\>mysqldump –u root –p 3306 school user01 user >d:\backup.sql
备份所有的数据库:
c:\myql\bin>mysqldump –u root –p 3306 –all –database>d:backup.sql
导入Mysql数据库:
c:\mysql\bin\mysql –u root –p 3306 数据库名<备份的数据库名.sql
数据操作
mysql> insert into 表名(字段,字段...) values (值1,值2...); 插入数据
mysql> insert into 表名(字段,字段...) values (值1,值2...)(值1,值2...); 批量插入数据
mysql> insert into 表名 values(值1,值2...); 不推荐使用
mysql> update 表名 set 列名1=值1,列名2=值2,.... [where 字段=某个值 or 字段=某个值] 修改表数据
mysql> update 表名1,表名2,.....set 表名1.字段=某个值,表名2.字段=某个值 where 字段=某个值 or 字段=某个值
mysql> delete from 表名 [where 条件 or|and 条件]; 删除数据
mysql> delete from 表名 [where 字段 in (值,值,值,值...)]; 删除指定数据
mysql> select 字段,字段...(*) from 表名 where 查询条件; 查询数据
mys
ql> select distinct 列名 from 表名;取消重复数据(查询整个列)
mysql> select 原列名 as '别名',原列名 as '别名',... from 表名; 用别名代替
mysql> select 原列名'别名',原列名'别名',... from 表名; 用别名代替
mysql> select 列名(*) from 表名 where 查询条件 order by 列名|desc ;
mysql> select 列名(*) from 表名 limit (开始位置,查询多少条);
mysql> select * from 表名 where 列名 is not null;查找不为空的数据
mysql> select * from 表名 where 列名 between 值1 and 值2; 查询值1和值2之间的数据
mysql> select * from 表名 where 列名 like %关键字%; 模糊查询 (%表示0或者任意多个字符 _代表单个的任意一个字符)
mysql> select 列名或关键字 from 表名1,from 表名2,...; 多表查询
mysql> select 列名或关键字 from 表名1,from 表名2,... where 表名1.条件1,表名2.条件2,....; 多表查询
mysql> select 函数名(列名1 或*),函数名(列名2) from 表名; 使用函数查询
常用函数 count()记录数 sum()求和 avg()求平均值 max()最大值 mix()最小值
mysql> select 列名1,列名2,.... from 表名 group by 分组条件; 先以列名1,列名2,....分组,最后在以列名分组
resource mysql_connect( 主机,用户名,密码)
boolmysql_select_db( 数据库名[,连接标识符])
resource mysql_query( SQL语句[,连接标识符] )
resource mysql_db_query(数据库名, SQL语句[,连接标识符] )
array mysql_fetch_row( resource result )
array mysql_fetch_assoc( resource result )
array mysql_fetch_array(查询结果指针[,数组储存型态常数])
mysql_num_fields fields(查询结果指针 )
mysql_num_rows rows(查询结果指针 )
object mysql_fetch_field(查询结果指针 ,栏位位置 )
mysql_result(mysql传回指针,纪录数,栏位名称字符串)
boolmysql_data_seek( resource result_identifier, introw_number)
boolmysql_free_result( resource result )
boolmysql_close( [resource link_identifier] )
intmysql_errno( [resource link_identifier] )
string mysql_error( [resource link_identifier] )
mysql_pconnect--打开一个到MySQL服务器的持久连接
mysql_create_db--新建一个MySQL数据库
mysql_drop_db--丢弃(删除)一个MySQL数据库
mysql_fetch_object--从结果集中取得一行作为对象
mysql_affected_rows--取得前一次MySQL操作所影响的记录行数