创建表:
AUTO_INCREMENT 自增;PRIMARY KEY 主键;NOT NULL 非空
CREATE TABLE IF NOT EXISTS `sys_user`(
`user_id` INT UNSIGNED AUTO_INCREMENT,
`user_name` VARCHAR(20) NOT NULL,
`user_phone` VARCHAR(20) NOT NULL,
`create_time` DATETIME,
PRIMARY KEY ( `user_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
删除表(drop)
DROP TABLE table_name ;
删除 sys_user表:
drop table sys_user;
清空表(清空表记录后,新增记录ID从1开始)
truncate table table_name;
清空 sys_user表: 重新定位自增的字段
truncate table sys_user;
插入数据(insert)
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
向user表插入数据:
INSERT INTO sys_user( user_name, user_phone)
VALUES
( '张三', '13129999151')
更新数据(update)
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
更新user表中user_name为张三的数据:
UPDATE sys_user set user_phone = '15129999161'
WHERE user_name = '张三'
删除数据(delete)
DELETE FROM table_name [WHERE Clause]
删除user表中user_name为张三的数据:
DELETE FROM sys_user WHERE user_name = '张三';
增加列
ALTER TABLE table_name ADD column_name varchar(30) NULL;
为sys_user表增加age、email和post列:同时设置列的位置
ALTER TABLE sys_user
add age int NULL first,
add email VARCHAR(20) NULL after user_name,
add post VARCHAR(10) null;
修改列
1.modify:修改列的类型
ALTER TABLE table_name MODIFY column_name CHAR(10);
修改sys_user表的age类型为char:
ALTER TABLE sys_user MODIFY age char(3);
2.change:修改列的类型和名称
ALTER TABLE table_name CHANGE column_name new_column_name BIGINT;
修改sys_user表的user_phone列名为phone_number,类型为char(11):
ALTER TABLE sys_user CHANGE user_phone phone_number char(11);
删除列
注:如果数据表中只剩余一个字段则无法使用DROP来删除字段
ALTER TABLE table_name DROP column_name;
删除sys_user表的age列:
ALTER TABLE sys_user DROP age;
指定某列默认数据
修改字段时,你可以指定是否包含值或者是否设置默认值。
ALTER TABLE table_name MODIFY column_name BIGINT NOT NULL DEFAULT 100;
不设置默认值,MySQL会自动设置该字段默认为 NULL。
设置sys_user的age列默认值为20:
ALTER TABLE sys_user ALTER age set DEFAULT 20;
查看各列属性:
show columns from sys_user;
删除字段的默认值:
ALTER TABLE table_name ALTER column_name DROP DEFAULT;
删除sys_user的age列默认值:
ALTER TABLE sys_user alter age drop DEFAULT;
修改表 引擎
ALTER TABLE table_name ENGINE = MYISAM;
查看表类型:
SHOW TABLE STATUS LIKE 'sys_user';
修改表名(RENAME)
ALTER TABLE table_name RENAME TO alter_tbl;
修改sys_user为user:
ALTER TABLE sys_user rename to user;