MySql中常用的SQL操作

创表

CREATE TABLE IF NOT EXISTS tableName (
`FieldName1` varchar(64) NOT NULL Default ' ', `FieldName2` double NOT NULL Default 0,
PRIMARY KEY (`FieldName2`)
 ) ENGINE=InnoDB DEFAULT CHARSET=gbk

查看某个数据库表的DDL

show create table ‘tableName’

在这里插入图片描述
会有两列属性出现,第二列即为创表语句

插入数据

REPLACE INTO tableName (`FieldName1`,`FieldName2`) VALUES ('111',222)
INSERT INTO tableName (`FieldName1`,`FieldName2`) VALUES ('111',222)
  • replace into 会有两步操作,先检查是否key值存在,存在就先删除,然后插入
  • insert into,如果key值存在,插入会失败

插入多条数据

REPLACE INTO tableName 
	(`FieldName1`,`FieldName2`) 
VALUES 
		('111',222),
		('222',333),
		('333',444)
-----------------------------------------------------
INSERT INTO tableName
	 (`FieldName1`,`FieldName2`)
VALUES 
		('111',222),
		('222',333),
		('333',444)

判断某个数据库表中,是否存在某列

Describe tableName `FieldName`

判断某个数据库表是否存在

SELECT table_name FROM information_schema.TABLES WHERE table_name ='tableName' 
		AND TABLE_SCHEMA= 'tableSchema';
  • 注意,这里的tableSchema指的是MySQL中的schema,可以理解为数据库服务器上的某个数据库,一个数据库服务器可以有多个数据库
  • 注意,这个schema一定要给,不然判断时会查找整个数据库服务器,而不是某个特定的数据库

获取某个数据库表中的所有列

select COLUMN_NAME from information_schema.COLUMNS where table_name = 'tableName' 
	and TABLE_SCHEMA ='tableSchema';
  • 同理,这里的schema也要给出,否则获取的列名会是整个数据库服务器上所有同名表的列名的集合,并且这个集合没有去重
发布了40 篇原创文章 · 获赞 12 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章