MYSQL的常用命令,对表的修改与表结构修改.
有时我们要对数据库表和数据库进行修改和删除,可以用如下方法实现:
1、增加一列: 如在前面例子中的mytable表中增加一列表示是否单身single: mysql> alter table mytable add column single char(1);
2、修改记录 将abccs的single记录修改为“y”: mysql> update mytable set single='y' where name='abccs';
现在来看看发生了什么: mysql> select * from mytable; +----------+------+------------+-----------+--------+ | name | sex | birth | birthaddr | single | +----------+------+------------+-----------+--------+ | abccs|f | 1977-07-07 | china | y | | mary |f | 1978-12-12 | usa | NULL | | tom |m | 1970-09-02 | usa | NULL | +----------+------+------------+-----------+--------+
3、增加记录 前面已经讲过如何增加一条记录,为便于查看,重复与此: mysql> insert into mytable -> values
('abc','f','1966-08-17','china','n'); Query OK, 1 row affected (0.05 sec) 查看一下: mysql> select * from mytable; +----------+------+------------+-----------+--------+ | name | sex | birth | birthaddr | single | +----------+------+------------+-----------+--------+ | abccs|f | 1977-07-07 | china | y | | mary |f | 1978-12-12 | usa | NULL | | tom |m | 1970-09-02 | usa | NULL | | abc |f | 1966-08-17 | china | n | +----------+------+------------+-----------+--------+
3、删除记录 用如下命令删除表中的一条记录: mysql> delete from mytable where
name='abc'; DELETE从表中删除满足由where给出的条件的一条记录。
再显示一下结果: mysql> select * from mytable; +----------+------+------------+-----------+--------+ | name | sex | birth | birthaddr | single | +----------+------+------------+-----------+--------+ | abccs|f | 1977-07-07 | china | y | | mary |f | 1978-12-12 | usa | NULL | | tom |m | 1970-09-02 | usa | NULL | +----------+------+------------+-----------+--------+
4、删除表: mysql> drop table ****(表1的名字),***表2的名字; 可以删除一个或多个表,小心使用。
5、数据库的删除: mysql> drop database 数据库名; 小心使用。
6、数据库的备份: 退回到DOS: mysql> quit d:mysqlbin 使用如下命令对数据库abccs进行备份: mysqldump --opt abccs>abccs.dbb abccs.dbb就是你的数据库abccs的备份文件。
7、用批处理方式使用MySQL:
首先建立一个批处理文件mytest.sql,内容如下: use abccs; select * from mytable; select name,sex from mytable where name='abccs';
在DOS下运行如下命令: d:mysqlbin mysql < mytest.sql 在屏幕上会显示执行结果。
如果想看结果,而输出结果很多,则可以用这样的命令: mysql < mytest.sql | more
我们还可以将结果输出到一个文件中: mysql < mytest.sql > mytest.out
加索引549830479
mysql> alter table
tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2
…]);
mysql> alter table tablename add index emp_name (name);
加主关键字的索引549830479
mysql> alter table tablename add primary key(id);
加唯一限制条件的索引549830479
mysql> alter table tablename add unique
emp_name2(cardnumber);
删除某个索引549830479
mysql>alter table tablename
drop index emp_name;
修改表:549830479
增加字段:549830479
mysql> ALTER TABLE
table_name ADD field_name field_type;
修改原字段名称及类型:549830479
mysql> ALTER TABLE
table_name CHANGE old_field_name new_field_name field_type;
删除字段:549830479
mysql> ALTER TABLE
table_name DROP field_name;
PS;修改字段属性
ALTER TABLE tableName MODIFY cloumnName DATETIME;
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
alter table t2 add d timestamp;
alter table infos add ex tinyint not null default '0';
alter table t2 drop column c;
alter table t1 change a b integer;
alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';
alter table t1 rename t2;
mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);
mysql> alter table tablename add primary key(id);
加唯一限制条件的索引549830479
mysql> alter table tablename add unique emp_name2(cardnumber);
mysql>alter table tablename drop index emp_name;
mysql> ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型:549830479
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
mysql> ALTER TABLE table_name DROP field_name;
1:删除列
ALTER TABLE 【表名字】 DROP 【列名称】
2:增加列
ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT
'注释说明'
3:修改列的类型信息
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT
NULL COMMENT '注释说明'
4:重命名列
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT
NULL COMMENT '注释说明'
5:重命名表
ALTER TABLE 【表名字】 RENAME 【表新名字】
6:删除表中主键
Alter TABLE 【表名字】 drop primary key
7:添加主键
ALTER TABLE sj_resource_charges ADD CONSTRAINT
PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
8:添加索引
ALTER TABLE sj_resource_charges add index
INDEX_NAME (name);
9: 添加唯一限制条件索引
ALTER TABLE sj_resource_charges add unique
emp_name2(cardnumber);
10: 删除索引
alter table tablename drop index emp_name;