SQL数据系统

SQL数据系统

一、概述

数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,其本身可看作电子化的文件柜,用户可以对文件中的数据进行增加、删除、修改、查找等操作。

数据库系统由数据库、数据库管理系统、数据库应用程序等组成数据库存储结构。

数据库是存储和管理数据的仓库,但数据库并不能直接存储数据,数据是存储在表中的。在存储数据的过程中一定会用到数据库服务器,所谓的数据库服务器就是指在计算机上安装一个数据库管理程序。

SQL语言:数据操作语言 (DML) 数据定义语言 (DDL) 数据查询语言(DQL) 数据控制语言(DCL)

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入

数据SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

二、数据库的基本操作

1. 查询数据库
show databases;

2. 创建数据库
create database XX(数据库名);
示例:create database stud;

create database XX(数据库名) charset = (字符编码,例如utf8);
示例:create database stud charset = utf8;

create database if not exists XX(数据库名); #判断数据库是否存在

3. 显示数据库信息
show create database XX(数据库名);
示例:show create database mydb;

4. 更改数据库的字符编码
alter database XX(数据库名) default character set utf8 collate utf8_bin;

5. 删除数据库
drop database XX(数据库名);
drop database if exists XX (数据库名字); #查看要删除的文件是否存在

6. 选择数据库
use XX(数据库名);
示例:use mydb;

三、数据表的基本操作

1. 创建表
create table XX(表名)(
字段1名 数据类型,
字段2名 数据类型,

字段n名 数据类型
);示例:create table stud
(
id INT(11),
name VARCHAR(20),
grade FLOAT
);
数据类型:
int 整型 tinyint 整型(0-256)
​ decimal 浮点型(总位数,小数位数) 例如 decimal(3,1)
​ char(X) 定长字符型 例如 char(10)
​ varchar(X) 可变长度字符型 例如varchar(10)
​ text 大段文本
​ binary 二进制(存储照片等)
整数:tinyint ,smallint…
实数:float,double, decimal(m,n)
字符串:char 定长 /varchar变长
日期:year date time datetime timestamp

2.查看所有表
show tables;

3. 显示创建表
show create table XX(表名);
show create table XX(表名) \G;

  1. 显示表结构
    describe(或desc) XX(表名);

  2. 删除表(删除多个表)
    drop table XX(表名);
    drop table XX,XX,XX…;

6.修改表
alter table 表名
[add] 添加字段
示例:alter table student add id int(20);
[drop]删除字段
示例:drop table grade;
[modify] 修改字段类型或者移动位置[after/first]
示例:alter table student modify name VARCHAR(20) frist;
[change] 修改字段名
示例:alter table student change name username VARCHAR(20);
[rename] 修改表名示例:
示例:alter table stud rename to student;
drop table 表名 # 删除表

四、表的约束

约束:对字段数据的有效性进行的限制。
主键约束:必须有数据而且不能重复,比如身份证号,它是唯一识别该项数据的字段 primary key

1.主键约束
主键约束的特点,不为空,不重复,一个表只能有一个主键,但是一个主键可以由多个列组成

命令格式
1.CREATE TABLE表名
字段1数据类型1,
字段2数据类型2,

段n数据类型n,
PRIMARY KEY(主键字段1,主键字段2…)
);

示例:
create table stud
(
sid int,
sname varchar(20),
score float,primary key(sid,sname)
);

2.CREATE TABLE表名
(
字段1数据类型1 primary key,
字段2数据类型2,
字段n数据类型n
);

示例:
create table stud
(
sid int primary key,
sname varchar(20),
score float
);

2.非空约束not null
字段 数据类型not null;
示例:
create table stud
(
sid int primary key,
sname varchar(20) not null,
score float
);

3.唯一约束unique

1.不能重复
2.可以为null
示例:
create table stud
(
sid int primary key,
sname varchar(20) unique,
score float
);

4.默认约束;默认值default
示例:
create table stud
(
sid int primary key,
sname varchar(20) unique,
score float default 60
);

5.自增字段auto-increment
只能使用在数值型字段上
示例:
create table stud
(
sid int primary key auto_increment,
sname varchar(20) unique,
score float default 60
);

五、数据操作DML:增删改

1.添加数据: INSERT
1)添加全部数据
insert into 表名 values(全部数据列表)
数据的写法:数值型的不用引号
字符型和日期型的使用单引号
每个数据以逗号分割
数据的顺序必须和字段一一对应
示例:
insert into stud values(1, ‘zhangsan’,‘1990-10-16’,96.5);

2)添加部分数据
insert into 表名(部分字段名列表)values(部分数据列表)
数据的写法:数值型的不用引号
字符型和日期型的使用单引号
每个数据以逗号分割
数据的顺序和部分字段名列表一一对应

示例:
insert into stud(sname,score,sid) values(‘ada’,80.5’5);

3)添加多条数据
insert into 表名[(部分字段)] values(第一条数据),(第二条数据)…(第N条数据);
示例:
insert into stud values
(3,‘aaa’,‘1997-9-9’,80),
(4,李四’,’ 1997-9-9’,80),
(6,‘王五,1997-9-9’,80),
(8,陈麻子,‘1997-9-9’,80),
(9,‘ddd’,‘1997-9-9’,80);

示例:
insert into stud(sname,score,sid) values
(‘力王’,97,12),
(‘王丽’,78,13);

2.查看数据表
select * from 表名;

3.添加约束后insert语句的使用特点
1)主键约束primary key
添加重复主键会报错
主键不能添加null数据
添加部分数据是不能缺少主键
示例: .
create table stud(
sid int primary key,
sname varchar(20)
);

insert into stud values(1,‘ada’);
insert into stud values(1 ,'bush);##报错, 因为主键重复
insert into stud values(null,'bush");##报错,主键不能为空
insert into stud(sname) values('smith");##出错,主键不能缺少

2.not null约束
不能添加null数据
部分数据不能缺少
示例:
create table stud(
sid int ,
sname varchar(20) not null
);

insert into stud values(1,nulI);##出错,不能添加NULL数据
insert into stud(sid) values(1);##出错,部分数据不能缺少

3.默认值default的使用
示例:
create table stud
(
sid int,
sname varchar(20),
score float default 60
);

insert into stud values(1,‘ada’,90); 指定数据就不会使用默认值
insert into stud values(2,‘linda’,default); 使用默认值
insert into stud(sid,sname) values(3,‘smith’);部分字段,不指定默认值的字段

4.唯一约束unique
1.不能重复
2.可以为null

示例:
create table stud (
sid int primary key,
sname varchar(20) unique,
score float
);

5.自增字段auto-increment
只能使用在数值型字段上

示例:
create table stud (
sid int primary key auto_increment,
sname varchar(20) unique,
score float default 60
);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值