SQL基础语法

1,建库,建表

1.创建一个库

CREATE DATABASE 数据库名称

2.创建一个表

这样做就可以创建一个数据库中的表:
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,

)
实例

create table students(
        id int unsigned primary key auto_increment not null,
        name varchar(20) default '',
        age tinyint unsigned default 0,
        height decimal(5,2),
        gender enum('男','⼥','⼈妖','保密'),
         cls_id int unsigned default 0
)`

2.增删改查语法,需要案例

1.1插入数据

向表中插入一条数据的 SQL 语法如下:

INSERT INTO [TABLE_NAME] (column1, column2, column3,...columnN) 
VALUES (value1, value2, value3,...valueN);

先创建这么一张 person 表,使用如下 SQL:

create table person(
   id int primary key,
   name varchar(16) not null,
   age int,
   phone varchar(11),
   address varchar(256)
);

接着,我们插入一条数据:

insert into person(id,name,age,phone,address)
values (1,'yang',22,'123232323','中国上海');

当你查询 person 表,会看到

+----+------+------+-----------+--------------+
| id | name | age  | phone     | address      |
+----+------+------+-----------+--------------+
|  1 | yang |   22 | 123232323 | 中国上海     |
+----+------+------+-----------+--------------+

2.2删除数据

我们使用 DELETE 语句对标数据进行删除,基本格式语法如下:

DELETE FROM [table_name]
WHERE [condition];

同样,不追加 where 子句做条件筛选会导致整张表的数据丢失。例如我们删除 id 为 1 的那条数据记录。

delete from person where id = 1;

2.3修改数据

SQL UPDATE 语句用于修改表中现有的记录。基本格式如下:

UPDATE [table_name]
SET column1 = value1, column2 = value2...., columnN = valueN

举个例子,这是 person 表现在的数据情况:

+----+------+------+-----------+--------------+
| id | name | age  | phone     | address      |
+----+------+------+-----------+--------------+
|  1 | yang |   22 | 123232323 | 中国上海     |
|  2 | cao  | NULL | NULL      | NULL         |
+----+------+------+-----------+--------------+

我们执行:

update person set address='浙江杭州';
//再来看 person 表:
+----+------+------+-----------+--------------+
| id | name | age  | phone     | address      |
+----+------+------+-----------+--------------+
|  1 | yang |   22 | 123232323 | 浙江杭州     |
|  2 | cao  | NULL | NULL      | 浙江杭州     |
+----+------+------+-----------+--------------+

2.4查询数据

基本的查询语法如下:

SELECT column1, column2, columnN FROM table_name;

如果需要查询一条记录中的所有的字段,可以用符号「*」替代全体,例如:

SELECT * FROM person;
可查询出 person 表所有的记录:
+----+-------+------+-----------+--------------+
| id | name  | age  | phone     | address      |
+----+-------+------+-----------+--------------+
|  1 | yang  |   22 | 231232132 | 中国上海     |
|  2 | cao   | NULL | NULL      | 浙江杭州     |
|  3 | li    |   23 | 34567894  | 江苏南京     |
|  4 | huang |   33 | 34567894  | 湖北武汉     |
|  5 | zhang |   30 | 4567890   | 中国北京     |
+----+-------+------+-----------+--------------+

3.表关联查询,需要案例

3.1表关联查询(两表,多表)

建网站表websites

在这里插入图片描述
建日志表access_log
在这里插入图片描述
内连接
在这里插入图片描述

左连接 left join

在这里插入图片描述

右连接 right join
在这里插入图片描述
全连接
MySQL Full Join的实现因为MySQL不支持FULL JOIN,下面是替代方法
left join + union(可去除重复数据)+ right join
select * from A left join B on A.id = B.id (where 条件)union
select * from A right join B on A.id = B.id (where条件);在这里插入图片描述

4.嵌套子查询select * from(select * from 表名)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值