创建表
create table table_name(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
phone VARCHAR(13),
is_active BOOLEAN DEFAULT TRUE
);
注:
id:用户id,整数类型,自增长,作为主键。
username:用户名,变长字符串,不允许为空。
phone:电话号码,变长字符串,默认允许为空。
is_active:用户是否激活,布尔类型,默认值为true。
删除表
#直接删除表table_name,不检查是否存在
drop table table_name;
#删除表table_name,如果存在的话
drop table if exists table_name;
增
insert into 表名(列名) values(值);
insert into table_name (column1,column2,column3,…) values (value1,value2,value3,…);
eg:
insert into table_name (id,username,phone,is_active) values (1,'小明','12345678912',true);
此处NULL是用于自增长列的占位符,表示系统将为id列生成一个唯一的值。
如果要插入多行数据,可直接在values字句中指定多组数值:
insert into table_name values (NULL,'张三','123456789',true);
insert into table_name (username,phone,is_active) value
('李四','123456789',false),
('王五','123456789',true),
('徐六','123456789',false);
删
delete form 表名 where 列名信息
eg:
删除id为5的信息
删除手机号以9结尾的信息
删除所有行
delete from table_name where id=5;
delete from table_name where phone like '%9';
delete from table_name;
改
update 表名 set 列名信息 where 列名
update table_name set column1=value1,column2=value2,… where condition;
eg:
将id为2的username改为张三
将id为4的username改为李四,phone改为123456789
将表table_name中的username为王五的phone赋值给表table_name中username为李四的phone
将表table_name中的username为李***的phone改为12345678
update table_name set username='张三',where id=2;
update table_name set username='李四',phone='123456789' where id=4;
update table_name set phone=(select phone from table_name where username='王五') where username='李四';
update table_name set phone='12345678' where username like '李%';
查
select 列名 from 表名;
column1,column2,…是选择的列的名称,如果是*则表示所有列
table_name是查询的数据表的名称
where condition是一个可选子句,用于指定过滤
order by column_name [ASC | DESC]是一个可选子句,用于指定结果集的排序顺序,默认是升序(ASC)
limit number是一个可选子句,用于限制返回行数
select column1,column2,... from table_name
where condition
order by column_name [ASC | DESC]
limit number;
eg:
#选择所有列的所有行
select * from table_name;
#选择特定列的所有行
select username,phone from table_name;
#添加where子句,选择满足条件的行
select * from table_name where is_active=true;
#添加order by子句,按照id列的升序排序
select * from table_name order by id;
#添加order by子句,按照id列的降序排序
select * from table_name order by id desc;
#添加limit子句,限制返回行数
select * from table_name limit 10;
#查询id小于5的姓名
select username from table_name where id<5;
#使用and、or、in等运算符
select username from table_name where id<10 and is_active=true;
select username from table_name where like '李%' or id>5;
select username from table_name where phone in ('12345678','123456789','1234567');