mysql练习
一、建表例子
创建表
例1:

create table a(
name varchar(10)
);

例2:

create table b(
name varchar(10),
height decimal(5,2)
);

例3:创建表c

create table c(
id int,
name varchar(20),
age tinyint UNSIGNED
);

插入数据
例4:往表C中插入一条记录。
insert into c values (0,'王五',20);

例5:表C中插入一条记录,只设置id和姓名name
insert into c (id,name) values(1,'李四');

例6:用一条insert语句插入多条记录
insert into c values(2,'林一',20),(3,'林二',21),(4,'林三',20);

查询字段
例7:查询C表指定字段
select id,name from c;

修改表
例8:修改c表,id为3的记录,name改为‘零一’,age改为25.并把其他人年龄改为50.

update c set age=50;
update c set name = '零一',age = 20 where id =3;

例9:把id大于2的记录,年龄长一岁。
update c set age=age+1 where id >2;

删除表
例10:删除表中的id为4记录
delete from c where id =4;

例11:truncate删除全部数据
truncate table c;

truncate和delete的比较。
1、truncate删除速度>delete
2、删除部分数据用delete
3、想要保留表而将所有的数据删除,自增长字段恢复从1开始,用truncate。
4、若用delete,自增长还会保存,而用truncate时,自增长字段会从1开始。
例12:删除表C
drop table c;
drop table if exists a;
/* 若表存在就删除,若不存在就什么都不做*/

二、约束
主键:primary key,值不能重复
自增长:auto_increment代表值自动增长。
非空:not null,此字段不允许填写空值q。
唯一:unique,此字段的值不允许重复。
默认值:default,当不填写此值时会默认值,如果填写时以填写为准。
create table d (
id int unsigned primary key auto_increment,
-- 设置主键和自增长
name varchar(10),
age int
)

insert into d (name,age) values ('林一',20),('林二',25);

insert into d (id,name,age) values (5,'林一',20);
-- 指定了id的值时能够插入,此时若下一个又不指定,则会从上一个开始自增长
insert into d (name,age) values ('林七',30);

如果不指定字段,主键自增长字段的值可以用占位符0或null。
insert into d values (0,'王三',20);
insert into d values (null,'李四',30);

唯一约束、默认值和非空
create table e (
id int unsigned primary key auto_increment,
-- 设置主键和自增

&spm=1001.2101.3001.5002&articleId=108562189&d=1&t=3&u=b6824215170a4a6dbf9e333c9c3ddd8a)
675

被折叠的 条评论
为什么被折叠?



