一篇文章入门SQL

目录

一、MySQL连接数据库

三种连接方式:

三种退出方式

二、数据库分类

数据库分类

数据库语言分类

三、SQL基础

语法

字段类型

字段约束

四、数据库的增删改查

创建数据库

使用数据库:

删除数据库

查看所有数据库名称

查看当前使用的数据库  

查看数据库的建表语句

五、数据库中表的增删改查

创建表

删除表

修改表名

查看所有表

六、表中字段的增删改查

添加字段

删除字段

修改字段

查看字段

七、表中记录(数据)的增删改

插入数据

删除数据

修改数据


sql不区分大小写

一、MySQL连接数据库

三种连接方式:

1、mysql -u用户名 -p密码

2、mysql -u用户名 -p  回车后再输入密码

3、mysql --host=主机名 --user=root --password=密码(可以进行远程连接)

三种退出方式

1、exit

2、quit

3、\q

二、数据库分类

数据库分类

关系型数据库
常见的:mysql  oracle  db2 sqlserver postgresql sqlite ...
    所有关系型数据库都要遵循SQL规范
    存储特点: 强调以二维表格形式存储


非关系型数据库
常见的:hbase  redis  MongoDB
    又叫NOSQL数据库,不仅仅是SQL
    存储特点: 强调以键值对k=v形式存储


数据库语言分类

DDL: 数据定义语言
常用关键字:CREATE、DROP、ALTER
作用:定义数据库、库中数据查询语言

DML:数据操作语言
常用关键字:INSERT、DELETE、UPDATE
作用:操作表中数据

DQL:数据查询语言
常用关键字:SELECT、FROM、WHERE
作用:查询表中数据

DCL:数据控制语言

三、SQL基础

语法

①空格,换行不影响sql,一般用于格式化代码
②每条sql都以分号 ; 结尾
③sql不区分大小写,但是建议关键字大写

字段类型

整数型:常用 INT ,长度默认为11,如果int长度不够就用bigint
字符型:VARCHAR()
浮点型:float或double
decimal(默认是有效位数是10,小数后位数是0)
        如:decimal(10,1)
        10位,小数点保留1位
日期:

date年月日
datetime:年月日时分秒
year:年份

字段约束

PRIMARY KEY:主键约束

        主键只有一个,且不能为空
        添加:建表时字段后面直接加PRIMARY KEY 或建表后

ALTER TABLE 表名 ADD PRIMARY KEY(要加主键的名称);

        删除时可以直接删:

alter table 表名 drop PRIMARY KEY

        不能直接create table(id int primary key)

AUTO_INCREMENT: 自动递增,唯一,一般配合主键一起用

        添加:建表时字段后面直接加PRIMARY KEY AUTO_INCREMENT,


Foreign key:外键约束

        外键可以有多个
        添加时:alter table 表名 drop foreign key 外键约束的名称或者建表时再字段后面加foreign key
        因为外键有多个,所以删除时要有字段名:
            alter table 表名 drop foreign key 字段名;

UNIQUE:唯一约束

        唯一约束可以有多个

        保证指定的列或列组合中的数据是唯一的,但允许NULL值。

        添加:建表时字段后面直接加UNIQUE

        因为唯一约束有多个,所以删除时要有字段名:
            alter table 表名 drop unique 字段名;

非空约束:NONULL

        非空约束可以有多个,但是不能为空

        确保指定列的所有数据行都必须有值,即不允许NULL值。

        添加:建表时字段后面直接加NONULL

         因为非空约束有多个,所以删除时要有字段名:
            alter table 表名 drop NONULL 字段名;

DEFAULT:默认约束

        默认约束可以有多个

        在插入数据时,如果某列没有给定具体的值,系统会自动为该列生成一个默认值。

        添加:建表时字段后面直接加DEFAULT

         因为默认约束有多个,所以删除时要有字段名:
            alter table 表名 drop DEFAULT 字段名;

四、数据库的增删改查

创建数据库

常用格式:

CREATE DATABASE 库名;

标准格式:

 create database [if not exists] 数据库名;

        其中 if not exists为如果没有就创建,可以省略
        创建时默认字符集就是utf8

使用数据库:

use 库名;

删除数据库

 drop database [if exists] 数据库名;

查看所有数据库名称

 show databases;

查看当前使用的数据库  

select database();

查看数据库的建表语句

show create database 数据库名;

五、数据库中表的增删改查

创建表

CREATE TABLE 表名(字段名 字段类型 [字段约束]);

如:

CREATE TABLE student(
ID INT,
NAME VACHAR(8)
AGE INT
);

注意:创建表时,关键字不能作为字段名,如果实在要用关键字做字段名,要用反引号``括起来

创建后查看表中字段

DESC 表名;

查看表的建表语句  

 show create table 表名;

删除表

drop table [if exists] 表名;

修改表名

rename table 旧表名 to 新表名;  

修改时约束、类型也可以修改


查看所有表

show tables;

六、表中字段的增删改查

以下[ ]里的,表示使用时可加也可不加

添加字段

 alter table 表名 add [column] 字段名 字段类型 [字段约束];

删除字段

alter table 表名 drop [column] 字段名;

修改字段

修改表中字段本质就是修改表

  alter table 表名 change [column] 旧字段名 新字段名 字段类型 [字段约束];

查看字段

 desc 表名;

七、表中记录(数据)的增删改

查询内容太多,在另外一篇文章

插入数据

一次插入一个数据

 insert into values(值);

一次插入多个数据,插入多个时用逗号隔开
          

  insert into values(值1),(值2),(值3);

注意:直接插入数据时,值要与字段对应并且类型正确


删除数据

两种删除,建议用truncate,delete清空数据后再插入数据,自增顺序会按照清空前的顺序继续延续下去

 delete from 表名 [where 条件];

truncate 清空数据,同时自增顺序也会被重置

  truncate [table] 表名;

修改数据

    update 表名 set 字段名 = 字段值 [where 条件];
  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值