MySQL的常用数据类型:
整数:int | 有符号:(-2147483648,2147483647) 无符号:(0,4294967295) int unsigned |
小整数:tinyint | 有符号:(-128,127) 无符号:(0,255) tinyint unsigned |
小数:decimal | decimal(5,2)表示5位数,小数占2位 |
字符串:varchar | varchar(3)最多存3个字符 |
日期时间:datetime | 范围: (1000-01-01 00:00:00~9999-12-31 23:59:59) |
数据库中的元素:
- 数据库:database
- 表:table
- 字段:field,列
- 记录:record,行
一、CREATE TABLE 创建表
create table 表名(
字段名 数据类型,
字段名 数据类型,
);
例:创建表a,字段要求:name(姓名),数据类型:varchar(字符串),长度为10
create table a(name.varchar(10));
二、INSERT 添加数据
添加一条记录:
- insert into 表名 values (...);
- insert into 表名 (字段1, ...) values (值1, ...);
添加多条记录:
- insert into 表名 values (...),(...),(...);
- insert into 表名 (字段1, ...) values (值1, ...),(值2, ...);
例:表c插入一条记录,只设置name和age
insert into c (name,age) values ('曜',18);
表c插入多条记录,只设置id
insert into c (id) values (5),(6),(7);
三、SELECT 简单查询
查询所有字段:
- select * from 表名
查询指定字段:
- select 字段1,字段2, ... from 表名
四、UPDATE 修改数据
update 表名 set 字段1=值1,字段2=值2, ... where 条件;
例:修改表c,所有人的年龄(age字段)为30
update c set age=50;
修改表c,id为2的记录,姓名(name)字段改为“鲁班”,年龄(age字段)改为7
update c set name='鲁班',age=7 where id=2;
五、DELETE 删除表中记录
delete from 表名 where 条件;
例:删除表c中id小于6的记录:
delete from c where i<6;
删除表c中所有记录:
delete from c;
六、TRUNCATE TABLE 删除表数据
truncate table 表名;
delete与truncate的区别:
- 速度上:truncate > delete
- 如果想删除部分数据用delete
- 如果保留表删除所有数据,自增长字段恢复从1开始用truncate
六、DROP TABLE 创建表
drop table 表名;
drop table if exists 表名;
常用字段的约束:
主键 primary key | 值不能重复,auto_increment代表值自动增长 |
非空 not all | 不允许写空值 |
惟一 unique | 值不允许重复 |
默认值 default | 不填写会使用默认值,填写时以填写为准 |
主键 primary key
例:create table a(id int primary key auto_increment);
不指定字段,主键自增长值可以用占位符0或null
如果用delete删除表中所有数据,新增表自增长字段数据不会从1开始
非空 not all
例:create table a(name varchar(10) not all);
惟一 unique
例:create table a(name varchar(10) unique);
默认值 default
例:create table a(age tinyint default 18);