SQL 笔记系列一(基础篇)

2018-11-19  本文已影响0人  _发强

创建表

语法

create Table [tableName] (
column_name1  data_type(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 表 起了个小名,用于简化调用(多用于多表语句,即多个表同时出现在一段语句中),
    
select distinct [列名称] from [表名称]
-- 查询单个字段
select distinct name from User  // 查询 User表中所有不重复的 name 

-- 查询多个字段
select distinct name,age from User -- 执行结果是所有 name , age 都不重复的数据,name、age 其中某一项可能重复。
delete from [表名] where [条件语句]

delete from User where name='张三' 

-- 删除所有数据 
delete from User -- 等同于 delete * from User 。

关键字

where 子句用于规定选择的标准。

用于添加 sql 语句的限定条件。eg:
select * from User where age=18 -- 查询所有 age = 18 的用户信息
delete * from User where age=0 -- 删除所有 age = 0 的用户
...

可在 Where 中使用的运算符如下

操作符 描述
= 等于
<> 不等于 等同于 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
between 再某个范围内
like 搜索某种模式(模糊查询)
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 语句默认按照升序对记录进行排序。(默认是 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...]
上一篇 下一篇

猜你喜欢

热点阅读