创建表
语法
create Table [tableName] (
column_name1 data_type(size),
...
);
column_name 参数规定表中列的名称。
data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
size 参数规定表中列的最大长度
更多数据类型请查看 数据类型参考手册
示例
create table User(
id int primary KEY,
name varchar(25) not null,
phone_number varchar(11),
introduction varchar(255)
)
操作表
- 插入数据
1,insert into [表名] values(value1,value2,...)
该方式是直接对应数据表中所有字段进行填充值
比如 表中有id,name, age
insert into User values(1 ,'name' ,12)
2, insert into [表名] (field1,field2...) values(value1,value2...)
插入某些字段
insert into User(name) values('value')
3,insert into [表1] (column_name(s) ) select column_name(s) from Table
复制 select 语句的结果,到 表1 中。
insert into Table1(name , city) select Table.userName , Table.city from Table
- 修改某字段为自增属性
alter table [表名] modify [字段名] [类型] auto_increment
alter table User modify id int auto_increment
// 修改 User 表 中的 id 字段为 自增属性
- 为 表 新增字段
alter table [表名] add [字段名] [字段类型]
ALTER table User add city VARCHAR(32)
- 更新表的字段类型、名称
alter table [表名] change [原字段] [新字段] [新字段的类型]
- 删除表的某一个字段
alter table [表名] drop [字段名]
- 更新表数据
update [表名] set [字段]=[值] where [条件语句]
1,update User set name='改后Name' where id=1
2, update User as u set u.name='modifyName' where u.id=1
介绍 [表名] as [别名] 可以理解为给 User 表 起了个小名,用于简化调用(多用于多表语句,即多个表同时出现在一段语句中),
- 查询去重复(distinct关键字)
select distinct [列名称] from [表名称]
-- 查询单个字段
select distinct name from User // 查询 User表中所有不重复的 name
-- 查询多个字段
select distinct name,age from User -- 执行结果是所有 name , age 都不重复的数据,name、age 其中某一项可能重复。
- ** 删除表数据(delete)**
delete from [表名] where [条件语句]
delete from User where name='张三'
-- 删除所有数据
delete from User -- 等同于 delete * from User 。
关键字
- Where 关键字
where 子句用于规定选择的标准。
用于添加 sql 语句的限定条件。eg:
select * from User where age=18 -- 查询所有 age = 18 的用户信息
delete * from User where age=0 -- 删除所有 age = 0 的用户
...
可在 Where 中使用的运算符如下
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 等同于 != |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
between | 再某个范围内 |
like | 搜索某种模式(模糊查询) |
- and & or
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
-- 查询 User 表中 18岁,<并且> 在 HZ 的用户
select * from User where age=18 and city='HZ'
-- 查询 User 表中 16岁,<或者> 在 HZ 的用户
select * from User where age=16 or city='HZ'
- Order by
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。(默认是 asc)
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
desc 降序(从大到小), asc 升序(从小到大)
-- 查询用户表数据,按名字排序(首字母abc..)
select * from User order by name [asc 可省略]
-- 查询用户表数据,按年龄从大到小排,如果年龄相同,则按姓名排序
select * from User order by age desc ,name
小结
针对 表中的字段调整(增删查改)语法规则
alter table [表名] {add , modify ,drop ,change} [field...]