数据库相关命令
多行注释:
/*
这是多行注释
*/
– 这是单行注释
创建数据库:
create database 数据库名 charset utf8;
显示所有数据库:
show databases;
显示某个数据库的创建语句:
show create database 数据库名;
删除数据库:
drop database 数据库名;
修改某个数据库(的字符集和排列规则):
alter database 数据库名 charset 新字符集名称
使用(进入/选择)数据库:
use 数据库名
数据表相关命令
建表语法形式:
create table 数据表名 (字段1,字段2,...)[charset 字符集] [engine 表类型]
其中字段的形式为 字段名 字段类型 [字段属性...]
create table 数据表名 (
字段名 字段类型 [字段属性],
字段名 字段类型 [字段属性],
...
)[charset 字符类型] [engine 表类型名称] ,比如InnoDB(默认的)MyIsam
字段类型:
数值型:
int(21亿)(如果是unsigned可以为42亿,unsigned可以让容量翻倍)
tinyint(微整型)
float (单精度浮点数)
double (双精度浮点数)
deciaml(M,D) (定点小数)
unsigned(非负数)
时间型:
date (0000-00-00)
time (00:00:00)
datetime(0000-00-00 00:00:00)
timestamp (时间戳)从1970-1-1 0:0:0开始的秒数
timestamp类型的字段,无需插入数据,而是会自动取得当前时间,展示上面仍是以时间的形式展现的。
year(0000)
tips:
now() mysql中的系统函数
时间类型的字面值需要使用单引号引起来。
字符串类型:
相对比较对的内容
char(定长字符)
最长可设定为255个字符,比如中国邮政编码,中国身份证号码,手机号码等。
varchar(变长字符)
比如姓名,最长可以为65532字节
gbk编码,一个字符占2个字节
utf8编码,一个字符占3个字节
如果实际写入的字符不足设定的长度,就按实际长度存储。
相对于char字符串,其存取速度更慢
相对比较长的内容text
text
比如文章,最长可以65535个字符
mediumtext(1600万)
text类型不能设置默认值;不能设置长度;text类型的数据不存在行中
enum和set类型
enum(‘选项1’,‘选项2’,‘选项3’) 枚举类型,单选,索引值1,2,3,4…
enum最多65535个选项
set(‘选项1’,‘选项2’,‘选项3’) 多选 索引值1,2,4,8,16 可以组合成任何自然数
set最多64个选项
字段属性:
null, not null
设定为空,或非空
default
用于设定列默认值(不给值或给空值null,并not nall,就会自动使用改该值)
使用形式:default 默认值
primary key
用于设定主键,
主键就是一个表中数据的关键值,可以通过该关键值找到特定的数据行
一个表的主键值不能重复(相等),比如文章表编号id,比如用户表中的用户名
主键字段必须有值。
一个表只能有一个主键
主键的另一种设定方式 primary key(字段名)
多字段主键 primary key(字段名1,字段名2)
auto_increment
自增长
一个表只能设置一个
unique key
唯一键特性
一个表可以有多个唯一键
可以为空
comment
说明性内容,类似于注释,有必要写
显示所有表:
show tables;
查看表结构:
desc 数据表名;
查看一个表的创建语句:
show create table 数据表名;
删除表:
drop table 数据表名;
修改数据表
添加字段:
alert table 表名 add 字段名 字段类型 [字段属性] [after 某字段名 或者 first]
after表示新加的字段放在现有的字段后面
first表示新加的字段放在第一位
修改字段:
alter table 表名 change 旧字段名 新字段名 字段类型 [字段属性];
如果不修改字段名,而只修改字段的其他信息,则可以使用:
alter table 表名 modify 要修改党的字段名 字段类型 [字段属性];
删除字段:
alter table 表名 drop 要删除的字段名;
修改表名:
alter table 表名 rename 新的表名;
修改字符集:
alter table 表名 charset=新的字符集;
插入数据
insert into 数据表 (字段名) value (值);
查询数据
select 字段名1,字段名2,字段名3 from 数据表 where 条件
删除数据
delete from 表名 where 条件
修改条件
update 数据表 set 字段名1=新值1,字段名2=新值2 where 条件
实体与实体的关系
tip
项目中一般需要文档中写一个数据字典