1.登录数据库
>mysql -u root -p 数据库名称
2.查询所有数据库,数据表
>show databases;
>show tables;
3.查询表的字段信息
>desc 表名称;
4.1添加表字段
alter table table1 add transactor varchar(10) not Null;
alter table table1 add id int unsigned not Null auto_increment primary key
4.2.修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
4.3.修改某个表的字段名称及指定为空或非空
>alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空
4.4如果要删除某一字段,可用命令:ALTER TABLE mytable DROP 字段 名;
- mysql> create table id_name(id int,name varchar(20));
- Query OK, 0 rows affected (0.13 sec)
- mysql> alter table id_name add age int,add address varchar(11);
- Query OK, 0 rows affected (0.13 sec)
- Records: 0 Duplicates: 0 Warnings: 0
- mysql> desc id_name;
- +---------+-------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +---------+-------------+------+-----+---------+-------+
- | id | int(11) | YES | | NULL | |
- | name | varchar(20) | YES | | NULL | |
- | age | int(11) | YES | | NULL | |
- | address | varchar(11) | YES | | NULL | |
- +---------+-------------+------+-----+---------+-------+
- 4 rows in set (0.00 sec)
- 2.删除两个字段
- mysql> alter table id_name drop column age,drop column address;
- Query OK, 0 rows affected (0.14 sec)
- Records: 0 Duplicates: 0 Warnings: 0
- mysql> desc id_name;
- +-------+-------------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+-------------+------+-----+---------+-------+
- | id | int(11) | YES | | NULL | |
- | name | varchar(20) | YES | | NULL | |
- +-------+-------------+------+-----+---------+-------+
- 2 rows in set (0.00 sec)
- 3.插入
- mysql> insert into id_name values (1,'qustdjx');
- Query OK, 1 row affected (0.00 sec)
- 4.查询看一下
- mysql> alter table id_name add age int,add address varchar(11);
- Query OK, 1 row affected (0.07 sec)
- Records: 1 Duplicates: 0 Warnings: 0
- mysql> select * from id_name;
- +------+---------+------+---------+
- | id | name | age | address |
- +------+---------+------+---------+
- | 1 | qustdjx | NULL | NULL |
- +------+---------+------+---------+
- 1 row in set (0.00 sec)
- 5.新增字段并插入
- mysql> insert into id_name values(2,'qust',14,'山东');
- Query OK, 1 row affected (0.00 sec)
- mysql> select * from id_name;
- +------+---------+------+---------+
- | id | name | age | address |
- +------+---------+------+---------+
- | 1 | qustdjx | NULL | NULL |
- | 2 | qust | 14 | 山东 |
- +------+---------+------+---------+
- 2 rows in set (0.00 sec)
1.增加一个字段
alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL; //增加一个字段,默认不能为空 www.2cto.com
2.删除一个字段
alter table user DROP COLUMN new2; //删除一个字段
3.修改一个字段
alter table user MODIFY new1 VARCHAR(10); //修改一个字段的类型
alter table user CHANGE new1 new4 int; //修改一个字段的名称,此时一定要重新指定该字段的类型
清除mysql表中数据
delete from 表名;
truncate table 表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,
而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。