SQL的建表,增删查改
1.1建表:
语法:
CREATE TABLE 表名称(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....);
实例:
CREATE TABLE `opadmin_abtest_report_day` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`dt` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '统计日期',
`total_map_user_cnt` bigint(20) DEFAULT NULL COMMENT '地图用户人数',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `abtest_dt_idx` (`dt`,`abtest_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=230287 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='ABTEST看板数据';
向新建的表中插入数据:
(1)在建表时复制所有数据:
create table userinfo_new as select * from userinfo;
(2)在建表时复制部分数据:
create table userinfo_new1 as select id,username from userinfo;
(3)插入新的一行数据
INSERT INTO Persons VALUES ('010','Gates', 'Bill', 'Xuanwumen 10', 'Beijing');
(4)在指定的列中插入数据
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');
(5)在添加时复制所有数据:
insert into userinfo_new select * from userinfo;
(6)在添加时复制部分数据:
insert into userinfo_new (id,username) select id,username from userinfo;
1.2、更新表数据
语法:
UPDATE [table_name]
SET column1 = value1, column2 = value2...., columnN = valueN
实例:
(1)无条件更新:
update userinfo set userpwd='111',email='111@126.com';
(2)有条件更新:
update userinfo set userpwd='123456' where username='xxx';
1.3、删除表数据
语法:delete from [table_name]
实例:
(1)无条件删除:
delete from userinfo;
(2)有条件删除:
delete from userinfo where username='yyy';
1.4、修改表结构
语法:
ALTER TABLE 表名 子句
实例:
(1) 添加字段
语法:ALTER TABLE table_name ADD column_name data_type constraints;
ALTER TABLE shippers ADD fax VARCHAR(20);
1.5、修改字段长度
语法:
ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型(修改后的长度)
实例:
ALTER TABLE attence MODIFY COLUMN id INT(20)
1.6、修改字段名称
语法:
alter table <表名> change <字段名> <字段新名称> <字段的类型>
实例:ALTER TABLE attence CHANGE attence_name NAME VARCHAR(20)
1.7、新增字段
①新增默认为空的字段,语法:
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;
实例:ALTER TABLE attence ADD COLUMN attence_name VARCHAR(20) DEFAULT NULL;
②新增不为空的字段
ALTER TABLE 表名ADD COLUMN 字段名 字段类型 NOT NULL;
例:ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;
1.8、删除字段
语法:
ALTER TABLE 表名 DROP COLUMN 字段名;
实例:ALTER TABLE attence DROP COLUMN age;