Mysql常用语法:
(1)新建表
DROP TABLE IF EXISTS `eb_school`;
CREATE TABLE `eb_school` (
`id` int(11) NOT NULL AUTO_INCREMENT, --AUTO_INCREMENT表示设为自增长
`sch_name` varchar(128) NULL COMMENT '学校名称',
`sch_img` varchar(512) NULL COMMENT '学校图片',
`sch_labels` varchar(128) NULL COMMENT '学校标签',
`add_time` int(11) NOT NULL COMMENT '添加时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb4;
--AUTO_INCREMENT=25表示id从25开始,mysql建表时一般都需要设置一个主键
--id可以设为int型,也可以设为varchar等多种类型,只要主键值唯一就行
(2)插入数据
INSERT INTO `eb_category` VALUES ('24', '数学', 'http://www.baidu.com/20190628/s_5d15abb2abb22.jpg', '30', '5', '100', '1561701301');
(3)更新数据
UPDATE `eb_subject`
SET sch_img='school.png',city='北京',sub_code=substring(sub_name,0,3)
where sch_name = '清华大学'
(4)删除数据
delete from `eb_school`
where sch_name = '清华大学'
-- 删除后id从0开始,执行此语句会删除表中所有数据(注意)
truncate table `eb_shool`
-- 修改id起始值为1
alter table tablename auto_increment=1;
(5)截取字符串
UPDATE `eb_school`
SET sch_name = substring(sch_name,6) --截取sch_name字符从第6位到结尾
where id = 6021
UPDATE `eb_school`
SET sch_name = SUBSTRING_INDEX(sch_name,'大学',1) --从sch_name中的关键词'大学'截取它前面的所有内容,1代表出现第一个的次数
where 1
(6)连接两个字符串
UPDATE `eb_school`
SET title = concat(title,'Yes') --连接title和Yes两个字符串
where sch_name='清华大学'
(7)删除字符串中指定字符
--删除指定字符a
select trim(both 'a' from 'a123456aa');
--删除特定字符
update eb_shool
set sub_name=replace(sub_name,'入学试卷','') --将sub_name中的'入学试卷'替换为'',即删除sub_name中的入学试卷,同理可替换为其他字符
where sch_name='清华大学'
(8)修改表的结构
--修改sch_name这个字段,如修改它的名称、字符类型等
ALTER TABLE `eb_school` CHANGE `sch_name` `sch_name` VARCHAR(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学校名称';
--删除表的某个字段(删除add_time这个字段)
ALTER TABLE `eb_test` DROP `add_time`;
--添加某个字段(在upgrade_time后添加add_time这个字段)
ALTER TABLE `eb_test` ADD `add_time` VARCHAR(40) NOT NULL COMMENT '添加时间' AFTER `upgrade_time`;
(9)创建索引
使用CREATE 语句创建索引
CREATE INDEX index_name ON table_name(column_name,column_name) include(score)
普通索引
CREATE UNIQUE INDEX index_name ON table_name (column_name) ;
非空索引
CREATE PRIMARY KEY INDEX index_name ON table_name (column_name) ;
主键索引
使用ALTER TABLE语句创建索引
alter table table_name add index index_name (column_list) ;
alter table table_name add unique (column_list) ;
alter table table_name add primary key (column_list) ;
修改索引
alter mytable add index [indexname] on(username(length))
删除索引
drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;