一些数据类型
- 纯日期:date
- 纯时间:time
- 日期时间:datetime
- 时间戳: timestamp
- 数据库中表示字符串用单引号
关键词
- default xxx 设默认值
- primary key 主键
- auto_increment 递增,仅适用于整形
一些操纵
Mysql数据库登陆:
//cmd:mysql路径/bin (可设到环境变量里)
>>mysqld.exe //启动mysql服务
>>mysql -u root -p //启动mysql命令行工具
cmd一般命令:
>> show databases;
>> use test
>> show tables;
数据定义语言(DDL):
//建库:
>> create database mydb;
//删除库:
>> drop database mydb;
//建表:
>> create table mytable(
id int primary key auto_increment,
name varchar(2),
birth date
);
//查看表:
>> show table;
//查看表结构:
>> desc mytable;
//删除表:
>> drop table mytable;
//修改表结构:
>> alter table mytable XXX;
XXX:
添加一列:
add column newColumnName varchar(20);
改表名:
rename newName;
删除一列:
drop column aColumnName;
修改某列类型:
modify columnName newType;
或 change columnName newName newType;
数据操纵语言(DML)
//添加:
>> insert into tableName (字段1,字段2...) values(值1,值2...);
//获取当前日期:
>> now();
//修改:
>> update 表名 set 字段名='值',字段名='值' where 字段名='值'
//删除:
>> delete from 表名 where 条件;
//注意:
-- 全部删除后再插入,ID会依据前一个自增,
-- 要想重新设置ID,可直接修改ID,只要不重复
模糊查询:
//查询以‘s’结尾的:(like 关键字,用%通配符)
>> select * from Table where name like '%s';//'%s' 's%' '%s%'
//排序条件:
>> order by 字段1 desc,z字段2 asc,...(多条件查询排序)//desc降序 asc升序
//分组查询:
group by 字段 having 字段='值';(效率低)
替换为:
where 字段='值' group by 字段;(效率高)
//说明:where 是分组前的条件,having是分组后的条件,使用在group by后(效率较低)
//聚合函数:
count(字段);
//别名:
select 字段 as 别名 from.....
//查询条数:
limit 10
//分页查询:
select * from 表名 limit begin,end;
//begin:起始位置 end:终止位置
附注
SQL语法基本一致,除了一些个性化的函数(名)
数据库不区分大小写