MySQL之创建与操作数据表
2016-03-22 20:47
405 查看
数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。
数据表的组成:
行:称为记录
列:称为字段
创建数据表:
创建某个数据表之前需要确定使用哪一个数据库,也就是说该表属于哪个数据库,所以创建表之前应该选择使用一个数据库。
使用数据库: USE test; (假如我们已经创建了一个名为test的数据库)
确定使用某个数据库之后,才是创建数据表
创建数据库: CREATE TABLE 逗号,是两个字段之间的分隔符,最后一个字段后不用加逗号 例如;
我们创建了一个工资表,username是20位的VARCHAR数据类型,age是无符号型的TINYINT数据类型,salary是无符号型的FLOAT类型,且一共8位,其中有两位是小数位。
确定是否创建成功,需要查看表
查看表
SHOW TABLES;
查看某一个指定的数据库的表:
SHOW TABLES FROM mysql;
查看数据表的结构
SHOW COLUMNS FROM tb1;(tb1是之前定义的表)
表存在后,需要对表进行修改或者添加数据
插入记录:
INSERT tbl_name [(col_name,…)]VALUES(val,…) ;当数值写全时,可以省略col_name,否则不能省略
省略如:
INSERT tb1 VALUES(‘Eminem’,40,999999.99);
不省略如:
INSERT tb1 (‘username’,salary) VALUES(‘ChouWu’,8888.88); (salary不一定非要8位,8位以内就行)
删除记录:
DELETE FROM tbl_name WHERE col_name = value;
例如:
DELETE FROM tb1 WHERE name = ‘Eminem’;(删除单条记录)
DELETE FROM tbl1 WHERE name IN(’
Eminem’,’Pitbull’,….);(删除多条记录)
检查记录的存在
SELECT expr,…FROM tbl_name;
例如:SELECT * FROM tb1;
原来创建的列我们会删除掉或者还需要增加新的列,怎么办?
添加或者删除列
添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name
column_definition [FIRST|AFTER col_name];
(默认最后)
例如:
ALTER TABLE tb1 ADD height TINYINT UNSIGNED NOT NULL DEFAULT 170;(默认放在最后一列)
ALTER TABLE tb1 ADD password VARCHAR(32) NOT NULL AFTER username;(放在username之后)
添加多列
ALTER TABLE tbl_name ADD [COLUMN](col_name column_definition,…);(多列只能放在数据表的最后)
ALTER TABLE tb1 ADD (height TINYINT ,weight TINYINT);
删除列
ALTER TABLE tbl_name DROP col_name;(删除单列)
ALTER TABLE tbl_name DROP col_name1,DROP col_name2;(删除多列)
综合增删
ALTER TABLE tbl_name ADD ….,DROP…,…;
(具体操作之间用逗号相隔)
修改字段
字段的数据类型,字段的名称等需要更改,怎么办?
修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name col_definiton [FIRST|AFTER col_name]
例如:
ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
(由大数据范围缩小到小数据范围有可能会造成数据的丢失,操作时需注意)
修改列名称
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name col_definition [FIRST|AFTER col_name];
(由上述定义可知,用CHANGE关键字不仅能修改列定义,还能修改列名称)
例如:
ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED NOT NULL;
修改数据表的名字
1.只修改一个数据表的名字
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;
例如:
ALTER TABLE users2 RENAME users3;
2.修改多个数据表的名字
RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]…
(对于数据列和数据表的更名要持谨慎态度!!!)
数据表的组成:
行:称为记录
列:称为字段
创建数据表:
创建某个数据表之前需要确定使用哪一个数据库,也就是说该表属于哪个数据库,所以创建表之前应该选择使用一个数据库。
使用数据库: USE test; (假如我们已经创建了一个名为test的数据库)
确定使用某个数据库之后,才是创建数据表
创建数据库: CREATE TABLE 逗号,是两个字段之间的分隔符,最后一个字段后不用加逗号 例如;
->CREATE TABLE tb1( ->username VARCHAR(20), ->age TINYINT UNSIGNED, ->salary FLOAT(8,2) UNSIGNED (这边未加逗号) ->);
我们创建了一个工资表,username是20位的VARCHAR数据类型,age是无符号型的TINYINT数据类型,salary是无符号型的FLOAT类型,且一共8位,其中有两位是小数位。
确定是否创建成功,需要查看表
查看表
SHOW TABLES;
查看某一个指定的数据库的表:
SHOW TABLES FROM mysql;
查看数据表的结构
SHOW COLUMNS FROM tb1;(tb1是之前定义的表)
表存在后,需要对表进行修改或者添加数据
插入记录:
INSERT tbl_name [(col_name,…)]VALUES(val,…) ;当数值写全时,可以省略col_name,否则不能省略
省略如:
INSERT tb1 VALUES(‘Eminem’,40,999999.99);
不省略如:
INSERT tb1 (‘username’,salary) VALUES(‘ChouWu’,8888.88); (salary不一定非要8位,8位以内就行)
删除记录:
DELETE FROM tbl_name WHERE col_name = value;
例如:
DELETE FROM tb1 WHERE name = ‘Eminem’;(删除单条记录)
DELETE FROM tbl1 WHERE name IN(’
Eminem’,’Pitbull’,….);(删除多条记录)
检查记录的存在
SELECT expr,…FROM tbl_name;
例如:SELECT * FROM tb1;
原来创建的列我们会删除掉或者还需要增加新的列,怎么办?
添加或者删除列
添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name
column_definition [FIRST|AFTER col_name];
(默认最后)
例如:
ALTER TABLE tb1 ADD height TINYINT UNSIGNED NOT NULL DEFAULT 170;(默认放在最后一列)
ALTER TABLE tb1 ADD password VARCHAR(32) NOT NULL AFTER username;(放在username之后)
添加多列
ALTER TABLE tbl_name ADD [COLUMN](col_name column_definition,…);(多列只能放在数据表的最后)
ALTER TABLE tb1 ADD (height TINYINT ,weight TINYINT);
删除列
ALTER TABLE tbl_name DROP col_name;(删除单列)
ALTER TABLE tbl_name DROP col_name1,DROP col_name2;(删除多列)
综合增删
ALTER TABLE tbl_name ADD ….,DROP…,…;
(具体操作之间用逗号相隔)
修改字段
字段的数据类型,字段的名称等需要更改,怎么办?
修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name col_definiton [FIRST|AFTER col_name]
例如:
ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
(由大数据范围缩小到小数据范围有可能会造成数据的丢失,操作时需注意)
修改列名称
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name col_definition [FIRST|AFTER col_name];
(由上述定义可知,用CHANGE关键字不仅能修改列定义,还能修改列名称)
例如:
ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED NOT NULL;
修改数据表的名字
1.只修改一个数据表的名字
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;
例如:
ALTER TABLE users2 RENAME users3;
2.修改多个数据表的名字
RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]…
(对于数据列和数据表的更名要持谨慎态度!!!)
相关文章推荐
- mysql多实例的配置(转)
- Mysql 命令行快速导入数据
- mysql 删除前几天记录
- MySQL 存储过程和函数(转)
- MySQL 批量Dll操作(转)
- mysql常用命令大全
- Ubutun 下的MySQL安装
- MySQL之数据类型
- mysql自增id获取失败
- mysql的基本操作1
- MySQL--Merge存储引擎
- 项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
- 三个流行MySQL分支的对比
- mysql中的基本语句总结
- MySQL 游标(PREPARE预处理语句)
- 为mysql数据库建立索引
- Mysql To Charts(一)--Express 应用生成器
- MySQL 性能优化的最佳20多条经验分享
- MysQl 优化
- mysql中alter语句中change和modify的区别