sql入门

数据库初级

什么是数据库?

软件存储数据的仓库
前端:用户输入数据
后端:用户数据处理
数据库:存储数据

学习数据库的目的是什么?

  1. 检测测试过程中的数据 (进行排除)
    1. 前端bug
    2. 后端bug
    3. 登录的网络问题
  2. 准备测试数据
    造测试数据;
    清除脏数据
  3. 性能测试的时候准备测试数据

数据库类型

mysqldb2oraclesqlserver数据库的类型很多,但是语言命令大部分是相同的

数据库学习的内容

  1. 数据库的增删改查
  2. 数据库表的增删改查
  3. 表结构的增删改查
  4. 数据库表数据的增删查改
  5. 连接名:为每个连接取别名,影响不大
  6. 主机和ip地址:连接数据库服务器的ip

数据库编码格式:

  • GB2312 简体中文
  • BIG5 繁体中文
  • utf8 万国码
  1. 显示所有数据库show databases;
  2. 创建数据库create database 数据库名 charset=utf8;
  3. 删除数据库drop database 数据库名
  4. 切换数据库use 数据库名
  5. 查询当前所在数据库select database()

表创建

创建表时,需要创建表结构。一个表至少包含一列,列在数据库内称为字段。

每个字段的字段名不可重复

每个字段都有数据的限制--能够存储什么样的数据类型

数据类型:

int 整数  数字范围 -21亿---+21亿
char()固定字符类型  
	char(10)最长10个字符;就算存入两个字符也按10个字符长度计算
	固定的可以提高修改效率,不修改磁盘空间,缺点是容易造成磁盘空间浪费
varchar()可变字符类型
	varchar(20) 最长可以存入20个字符;不足20按照实际字符长度存储,节省硬盘空间;
float 浮点类型  5.6,-9.8,1.3
bool 布尔类型  0,1  真或假
date  日期  2021-08-06
datetime   2021-08-06 11:46:56
1.创建表时
create table 表名(字段1 数据类型(),字段2 数据类型()......)
2.显示所有表
show tables
3.修改表名
alter table 原表名 rename 新表名
4.删除表
drop table 表名

表结构

在表创建以后,可以对表结构进行修改,对字段的增删改查,字段的增删改查就是对表的修改

  1. 查看表字段:可以看到表内所有字段名和字段数据类型以及其他约束

    desc 表名
    Field:字段,表示的是列名
    Type:数据类型
    NULL:表示该字段是否可以为空
    Key:主键
    Default:默认值
    Extra:其他信息
    
  2. 增加字段

    alter table 表名 add 字段名 数据类型(长度)
    alter table aad add address varchar(50);
    
    after:添加的字段在谁的字段后面:
    alter table aad add address1 varchar(40) after id;
    first :添加的字段放在首位
    alter table aad add address2 varchar(40) first;
    
  3. 修改表字段:

    change 替换字段,modify 修改再短
    alter table 表名 change 原字段 新字段 数据类型(长度)
    alter table aad change address2 id1 int;
    alter table 表名  modify 原字段  数据类型(长度)
    alter table aad modify id1 char(15);
    删除字段
    alter table表名 drop字段名
    alter table aad drop id1;
    多项操作(,左右都要有动词)
    alter table 表名 add 字段名 数据类型(长度),change 原字段 新字段 数据类型(长度),drop 字段名
    alter table aad add id1 int,change id id2 int(15),drop address;
    
  4. 表数据

    1. 插入数据
    insert into 表名 (字段1,字段2....) values(值1,值2.........)
    
    字段和值要一一对应,即要遵照该字段的数据类型插入数据。当插入的是全字段的时候字段名可以省略
    
    insert into aa1(id,name) values(1,'王德')
    select * from aa1
    insert into aa1 values(2,'li')
    insert into aa1(id) values(3)
    
    2. 查询数据
    	select * from 表名  查询表的所有内容			*代表查询所有字段
    	select 字段名 from 表名   查询标的某些列
    
    3.修改数据
    	update 表名 set 字段=值 where条件 
    	update aa1 set name='张三' where id=3
    
    4.删除数据:删除数据是一整行的删除
    	delete from表名 where 条件
    
    5.清空表
    	delete from 表名   效率低一点 一行一行的删除
    	truncate 表名 效率高一点 
    
  5. 复制&复制数据

    1. 复制表:创建一张新表,表结构和原表相同,数据相同
    create table 复制表名 as select * from 原表名
    create table 复制表名  as select 字段1 from 原表
    create table 复制表名  as select 字段1,字段2  from原表  where 条件
    create table aa2 as select * from aa1
    select * from aa2
    desc aa2
    desc aa1
    create table aa3 as select id from aa2 where id=3
    select * from aa3
    
    1. 复制数据

    在表中插入数据,数据与原表相同,在插入的数据的数量与格式要对应

    insert into 表(字段1,字段2 ) select 字段1,字段2 from 表名 where 条件
    insert into aa4 (id,name) select id,name from aa1 where id=1
    insert into  aa4(name) select name from aa1 where id=3
    
  6. 约束--了解

    约束是添加在字段上的,对字段内的数据进行限制

    字段的约束类型:数据类型(长度)、为空、重复

    主键约束:primary key,添加主键的字段不能为空且不能重复

    每个表都只有一个主键,一般主键都是ID,id是给数据添加序号,本身没有太多实际意义

    1. 添加主键
    create table 表名(字段1 数据类型(长度) primary key,字段2 数据类型(长度)....)
    create table aa5(id int(10) primary key,name char(15));
    
    alter table 表名 add primary key(字段名)给表添加主键
    alter  table aa6 add primary key(name)
    alter table 表名  modify 字段名 数据类型(长度) primary key 
    
    1. 删除主键
      alter table 表名 drop primary key
    2. 联合主键
    多个字段共同组成联合主键,每个字段不能为空,且组合字段不能重复,单个字段的数据可以重复
    create table 表名(字段1 数据类型(长度),字段2 数据类型(长度),primary key(字段1,字段2)
    create table aa7 (id int(12),name char(15),primary key(id,name))
    
    alter table 表名 add primary key(字段1,字段2)
    alter table aa7 add primary key (id,name)
    
posted @ 2021-08-09 09:58  Neroi  阅读(35)  评论(0编辑  收藏  举报