查询表中的数据
1,查询所有行
命令:select <字段1,字段,...> from < 表名> where < 表达式>
例如:查看表MyClass 中所有数据
mysql> select * from MyClass;
例如:查看表MyClass 中所有数据
mysql> select * from MyClass;
2、查询前几行数据
例如:查看表MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
mysql> select * from MyClass order by id limit 0,2;
select一般配合where使用,以查询更精确更复杂的数据
删除表中数据
命令:delete from 表名where 表达式
例如:删除表MyClass中编号为1 的记录
例如:删除表MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
下面是一个删除数据前后
下面以PHP代码为例删除"Persons" 表中所有LastName='Griffin' 的记录:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); ?>
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("DELETE FROM Persons WHERE LastName='Griffin'"); mysql_close($con); ?>
在这次删除之后,表是这样的:
修改表中数据
语法:update 表名set 字段=新值,... where 条件
mysql> update MyClass set name='Mary' where id=1;
例子1:单表的MySQL UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
例子2:多表的UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [,
col_name2=expr2 ...] [WHERE where_definition]
mysql> update MyClass set name='Mary' where id=1;
例子1:单表的MySQL UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
例子2:多表的UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [,
col_name2=expr2 ...] [WHERE where_definition]
UPDATE语法可以用新值更新原有表行中的 各列 。SET子句指示要修改哪些列 和要给 予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定
了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。
增加字段:
命令:alter tabl表名add字段类型其他;
例如:在表MyClass中添加了一个字passtest,类型为int(4),默认值为0
mysql> alter table MyClass addpasstest int(4) default '0'
例如:在表MyClass中添加了一个字passtest,类型为int(4),默认值为0
mysql> alter table MyClass addpasstest int(4) default '0'
加索引
mysql> alter table 表名add index 索引名(字段名1[,字段名2 ...]);
例子:mysql> alter table employee add index emp_name (name);
mysql> alter table 表名add index 索引名(字段名1[,字段名2 ...]);
例子:mysql> alter table employee add index emp_name (name);
加主关键字的索引
mysql>alter table 表名add primary key (字段名);
例子:mysql> alter table employee add primary key(id);
例子:mysql> alter table employee add primary key(id);
加唯一限制条件的索引
mysql> alter table 表名add unique 索引名(字段名);
例子:mysql> alter table employee add unique emp_name2(cardnumber);
mysql> alter table 表名add unique 索引名(字段名);
例子:mysql> alter table employee add unique emp_name2(cardnumber);
删除某个索引
mysql> alter table 表名drop index 索引名;
例子:mysql>alter table employee drop index emp_name;
例子:mysql>alter table employee drop index emp_name;
增加字段:
mysql> ALTER TABLE table_name ADD field_name field_type;
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段:MySQL ALTER TABLE table_name DROP field_name;