要介绍基本语法,首先需要创建一个数据库,然后新建一个表。具体操作如下:
打开navicat,新建数据库或者选中已经存在的数据库,点击查询按钮,然后新建查询。代码如下:
CREATE TABLE `score` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`change_type` VARCHAR(255) NULL DEFAULT NULL,
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`score` INT(11) NULL DEFAULT NULL,
`user_id` BIGINT(20) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci';
CREATE TABLE `gag` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`gag_time` DATE NULL DEFAULT NULL,
`user_id` BIGINT(20) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci';
insert语句
INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表), …]
如果要插入的值列表包含所有字段并且顺序一致,就可以省略掉字段列表。也可以同时插入多条数据记录。
在刚才创建的表中新建查询输入如下代码:
INSERT INTO score (change_type,score,user_id) VALUES ('吃饭',10,1);
如果需要同时插入多条数据的话,代码如下:
INSERT INTO score (change_type,score,user_id) VALUES ('吃饭',10,1),('喝茶',10,1),('喝茶',10,1);
大概同时插入10条数据是最高效的。
DELETE语句
DELETE FROM 表名【删除条件句】
没有条件句,就会将表中的数据全部删除:
-- DELETE FROM score WHERE id=1;
-- DELETE FROM score;
UPDATE语句
UPDATE 表名 SET 字段名=新值【,字段名=新值】【更新条件】
代码如下:
UPDATE score SET change_type='洗澡' WHERE id=3;
更新多条记录:
UPDATE score
SET change_type = CASE id
WHEN 1 THEN 'chifan'
WHEN 2 THEN 'chifan'
WHEN 3 THEN 'VALUE3'
END
WHERE id IN (1, 2, 3);
更新多条记录的多个值:
UPDATE score
SET change_type = CASE id
WHEN 1 THEN
'value1'
WHEN 2 THEN
'value2'
WHEN 3 THEN
'value3'
END,
score = CASE id
WHEN 1 THEN
1
WHEN 2 THEN
2
WHEN 3 THEN
3
END
WHERE
id IN (1, 2, 3)
注意:
(1). 尽量不要修改主键字段。
(2). 当修改VARCHAR型字段时,尽量使用相同长度内容的值代替。
select语句
1.查询记录
select*from 表名 [where 条件]
2.不重复查询
select distinct 字段 from 表名;
3.条件查询
select 字段 from 表名 where 条件;
库与表的基本操作
查看所有数据库:
show databases;
use table;
查看当前数据库:
select database();
显示当前时间,用户名,数据库版本:
select now(), user(), version();
创建库:
create database[ if not exists] 数据库名 数据库选项
数据库选项:
CHARACTER SET charset_name
COLLATE collation_name
查看当前库的信息
show create database 数据库名
修改库信息:
alter database 库名 选项信息
删除库:
drop database[ if exists] 数据库名
注意:这个是将该数据库所有内容全部删除
表的基本操作
创建表:
create table[ if not exists] 表名 ( 表的结构定义 )[ 表选项]
每个字段必须有数据类型
最后一个字段后不能有逗号
对于字段的定义:
字段名 数据类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string']
删除列:
ALTER TABLE 【表名字】 DROP 【列名称】
添加列:
ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL COMMENT ‘注释说明’
更新列的类型:
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL COMMENT ‘注释说明’
给列换个名字:
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL COMMENT ‘注释说明’
表的操作:
重命名:
ALTER TABLE 【表名字】 RENAME 【表新名字】
删除主键:
Alter TABLE 【表名字】 drop primary key
添加主键:
ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
添加索引:
ALTER TABLE sj_resource_charges add index INDEX_NAME (name);
删除索引:
Alter table tablename drop index emp_name;
查看表:
SHOW TABLES;
查看表结构:
SHOW CREATE TABLE 表名 (信息更详细)
DESC 表名 / DESCRIBE 表名 / EXPLAIN 表名 / SHOW COLUMNS FROM 表名 [LIKE 'PATTERN']
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
重命名表:
RENAME TABLE 原表名 TO 新表名
RENAME TABLE 原表名 TO 库名.表名
注意:第二个命令不但可以重命名表,而且还可以把表移动到别的数据库
删除表:
DROP TABLE[ IF EXISTS] 表名
清空表里面的数据:
TRUNCATE [TABLE] 表名
mysql中同表条件修改:
update tax_company_crawl_statistic set detail_info = 2 where page_no = 2
表结构如下: