跳至内容

SQL基础

本文介绍 SQL 的四大分类(DDL、DML、DQL、DCL)以及数据库、表、记录的基本增删改查操作,是 MySQL 入门的必读内容。

SQL基本操作

数据库的连接:

使用方法:
    
    方式一: 通过图型界面工具,如 Navicat 等( 高级课使用 )
        
    方式二: 通过在命令行敲命令来操作 ( 基础阶段使用 )
        

SQL ( Structure query language ) 结构化查询语言

SQL语言分为4个部分DDL定义)、DML操作)、DQL查询)、DCL控制

    1DDL语句 数据库定义语言 数据库视图索引存储过程例如CREATE DROP ALTER
    2DCL语句 数据库控制语言 例如控制用户的访问权限GRANTREVOKE
    3DML语句 数据库操纵语言 插入数据INSERT删除数据DELETE更新数据UPDATE
    4DQL语句 数据库操纵语言查询数据SELECT

SQL语句中的快捷键

    \G 格式化输出(文本式,竖立显示)

    \s 查看服务器端信息

    \c 结束命令输入操作

    \q 退出当前sql命令行模式

    \h 查看帮助

操作数据库

# 
create database db1;
create database db2 charset='gbk';
# 
show databases;  # 查所有
show create database db1;  # 查看创建数据库的命令
# 
alter database db2 charset='utf8';
# 
drop database db2;

操作表

# 查看当前所在的库的名字
select database();
# 切换库
use db1; 

# 
create table t1(id int,name char(4));
# 
show tables;  # 查看当前库下面所有的表名
show create table t1;
describe t1;  # 支持简写 desc t1;
# 
alter table t1 modify name char(16);
# 
drop table t1;

-- 也可以用绝对路径的形式操作不同的库
-- create table db2.t1(id int);

操作记录

-- 增
insert into t1 values(1,'jason');
insert into t1 values(1,'jason'),(2,'egon'),(3,'tank');
-- 查
select * from t1;  -- 该命令当数据量特别大的时候不建议使用
select name from t1;
-- 改
update t1 set name='DSB' where id > 1;
-- 删
delete from t1 where id > 1;
delete from t1 where name='jason';
-- 将表所有的数据清空
delete from t1;

创建表的完整语法

-- 语法
create table 表名(
	字段名1 类型(宽度) 约束条件,
    字段名2 类型(宽度) 约束条件,
    字段名3 类型(宽度) 约束条件
);

-- 注意:
-- 1 在同一张表中字段名不能重复
-- 2 宽度和约束条件是可选的,字段名和字段类型是必须的
-- 3 最后一行不能有逗号

-- 宽度示例
create table t7(name char);  -- 默认宽度是1
insert into t7 values('jason');
insert into t7 values(null);  -- 关键字 NULL

-- 约束条件 not null 不能插入 null
create table t8(id int, name char not null);
最后更新于