1、mysql的常用数据类型
2、创建表
- 创建表 a,字段要求:name(姓名),数据类型:varchar(字符串),长度为 10
CREATE TABLE a(
name varchar(10)
);
- 创建表 c,字段要求如下:
- -- id:数据类型为 int (整数);
- -- name 姓名:数据类型为 varchar(字符串)长度为 20,
- -- age 年龄:数据类型为 tinyint unsigned(无符号小整数);
CREATE TABLE c(
id int,
name VARCHAR(20),
age TINYINT UNSIGNED
);
3、insert插入数据
- 语法 : insert into 表名 values (值, 值,值);
-
-- 往表c插入一条记录 INSERT into c VALUES (0, '张飞', 30);
-
指定字段插入,语法:insert into 表名 (字段名, 字段名) values (值, 值);
-
-- 例 2:表 c 插入一条记录,只设置 id 和姓名 age INSERT into c (id, age) values (4, 100);
4、插入多条记录
-- 例 4:表 c 插入多条记录,用一条 insert 语句, 数据之间用逗号隔开
insert into c values (10, '张三', 10),
(11, '李四', 20),
(12, '王五', 30);
5、select查询表
- 查询所有字段语法:
select * from 表名;
-
查询表c的id字段
select id from c;
-
查询表c的所有字段,但顺序自定义
select name, id, age from c;
6、update修改数据
- 语法:update 表名 set 字段=值, 字段=值 where 条件
- 如果没有where 条件代表修改表中所有的记录
-
修改表 c,所有人的年龄(age 字段)改为 50
update c set age = 50;
-
修改表 c, -- id 为 3 的记录, -- 姓名(name 字段)改为 ‘狄仁杰‘,年龄(age 字段)改为 20
update c set name = '狄仁杰', age = 20 where id = 3;
-
修改name为刘备的记录为李白
update c set name = '李白' where name = '刘备';
-- id大于10的记录,长一岁 update c set age = age + 1 where id > 10;
7、delete删除记录
- 语法:'delete from 表名 where 条件'
-
-- 例 1:删除表 c 中 id 为 6 的记录
DELETE from c where id = 6;
删除年龄大于50的记录
DELETE from c where age > 50;
8、truncate table删除表的数据
9、删除表
- -- 删除表a
drop table a;
- 语法二: drop table if exists 表名
-
如果表a存在,就删除表a,如果不存在,什么也不做
DROP table if EXISTS a;
10、字段的约束
11、主键
- 创建表 d,字段要求如下:
- id : 数 据 类 型 为
- int unsigned( 无 符 号 整 数 ) ) ,primary key( 主键),auto_increment(自增长);
- name 姓名:数据类型为 varchar(字符串)长度为 10;
- age 年龄:数据类型为 int(整数);
create TABLE d ( id int UNSIGNED PRIMARY key auto_increment, name varchar(10), age int );
插入值:
-- 插入的时候指定了id的值
INSERT into d (id, name, age) values (6, '曹操', 30);
-- 不指定id的值
INSERT into d (name, age) values ('周瑜', 30);
select * from d;
-- 如果不指定字段,主键自增长字段的值可以用占位符,0或者null
INSERT into d VALUES (0, '康熙', 30);
INSERT into d VALUES (NULL, '溥仪', 50);
16.非空
-
非空not null
-
这个字段必须有值,如果没有值,insert插入会失败
-
-- 例 1:创建表 e,字段要求如下:
-- id:数据类型为 int unsigned (无符号整数);
-- name 姓名:数据类型为 varchar(字符串)长度为 10,not null(非空),
-- age 年龄:数据类型为 int(整数);
CREATE table e (
id int UNSIGNED,
name varchar(10) not null,
age int
);
insert into e values (1, '张三', 20);
insert into e (id, age) values (1, 20);
select * from e;
# 17.唯一
- 唯一unique
- 字段的约束为唯一,表示字段的值不能重复
-- 例 1:创建表 f,字段要求如下:
-- id:数据类型为 int (整数);
-- name 姓名:数据类型为 varchar(字符串)长度为 10,unique(唯一);
-- age 年龄:数据类型为 int(整数);
CREATE TABLE f (
id int,
name varchar(10) UNIQUE,
age int
);
insert into f VALUES (1, '张三', 20);
insert into f VALUES (2, '李四', 20);
select * from f;