MySQL
查看所有数据库:
show databases;
创建新的数据库:
create database 数据库名
字符集名称:utf8, gbk, gb2312, big5, ascii等。推荐用utf8。
校对规则名:通常都不用写,而是使用所设定字符集的默认校对规则。
查看可用的字符集:
show charset;注意分号;
查看可用的校对规则:
show collation;注意分号;
查看数据库创建信息:
show create database 数据库名;
删除现有数据库:
drop database 数据库名;
修改数据库:其实只是修改数据库的字符编码或校对规则。
alter database charset 新的字符集名称
alter database collate 新的校对规则名
使用数据库:
use 数据库名;
数据表操作:
“数据库”只是一个外壳,除了有个数据库名称和字符集设定,基本就没有别的信息了。
数据表才是存储(装载)数据的具体“容器”。
创建数据表:
create table 表名(
id int,------列名称,列类型
name varchar(10)
);
//主键;单独行PRIMARY KEY(id)关键字用于定义列为主键
或字段后加PRIMARY KEY;
//空值;不想字段为Null可以设置not null;
//AUTO_INCREMENT设置为自增的属性,一般为主键,自动+1;
查看所有数据表:
show tables;
查看数据表结构:
desc 表名;
所谓数据表的结构,其实就是一个表的每个字段的具体信息。
删除表:
drop table 表名;
查看数据表的创建语句
show create table 表名;
修改表:
添加字段
alter table 表名 add 字段名 字段类型;
删除字段
alter table 表名 drop column 列名;
修改字段
修改字段名:
alter table 表名 change 旧字段名 新字段名 新字段类型
如果不修改字段名,只修改字段的其他信息:
alter table 表名 modify 字段名 新字段类型
修改表名:
alter table 表名 rename 新的表名;
数据操作:
数据的基本操作:增(insert)删(delete)改(update)查(select);
插入数据;
insert into 表名(字段名1,字段名2) values (数据1,数据2);
注:字段名和数据要一一对应;
字符串和时间日期类型用单引号引起来;
字段可以省略,但是要按顺序全字段数据插入;
删除数据:
delete from 表名
注:不带条件的删除的是所有的数据;通常不使用;
带条件的删除,使用where id = 2;
truncate 表名: 删除表中所有数据,标识所用值重置;
更新数据:
update 表名 set 字段名=新值 [where id = 3];
注:修改表中某一行某个字段的数据;
如果不加where条件是修改所有的数据;
查询数据:
select 字段1,字段2 from 表名 [where]
查询所有的列
select * from 表名;
使用别名
select 字段1 as ‘新名’,字段2 from 表名
where条件(逻辑and or 比较>、<、=、>=、<=、<>不等于)
select * from 表名 where 字段1>值 and 字段2<值;
where条件中between and
select * from 表名 where 字段 between 75 and 90;
空条件查询
select * from 表名 where 字段 IS NULL;(IS NOT NULL)
模糊查询like
%:表示任意字符;
_:表示一个字符;
select * from 表名 where 字段 like ‘%w%’;
select * from 表名 where 字段 like ‘李_’;
去除重复数据(DISTINCT)
select distinct 字段1 from 表名;
排序(order by),可以多字段排序
select *from 表名 order by 列名 asc(asc升序默认;desc降序)
聚合函数查询:
min最小值;max最大值;sum值的和;count统计行数;avg平局值
分页查询:
limit 起始行,行数;
分组查询:
group by
分组后筛选使用:
group by 字段 having
多表联合查询:
select * from xueshengbiao as a join chengji as b on a.id = b.id;

浙公网安备 33010602011771号