前言

SQLStudio下载 本文配图来自国产数据库管理开发工具:SQL Studio 相对传统SQL工具的客户端开发,SQL Studio采用纯Web化开发模式。这种模式最大的好处就是免安装,易上手,更灵活。


一、什么是数据库

数据库-存取数据的仓库 文件也可以存取数据,比如Excel文件(可存约100万条数据),但是当数据量特别大时,Excel的操作就会变得非常慢(另外数据共享也不是非常方便),仅限于做一些简单数据分析、数据可视化的数据来源。 数据的仓库,数据库就在这个时候开始发挥更大的作用。

二、什么是SQL

SQL是一种有特殊目的的编程语言,用于结构化数据库的查询和程序设计。可实现对数据的增删改查。由IBM研发。

三、数据核心知识—语句

Mysql创建表时如何选择该数据库 使用mysql创建数据库的表_SQL

库的操作

-- show databases; -- 查看该用户下所有数据库
-- create database DA charset utf8; --  创建数据库D,设置字符集为utf8,数据库名后续不可修改
-- use DA; -- 使用数据库DA
-- show create Database da; -- 查看指定数据库信息
-- alter database da charset gbk; -- 修改数据库字符集
-- drop database da; -- 删除数据库

表的操作

-- create database DA; --  创建数据库D
-- use DA; -- 使用数据库DA
-- /*创建student表,字段name(设置为主键),sex,age*/
-- create table student(name varchar(20) not null primary key,sex char(4) not null,age int);
-- desc student;  -- 查看表
-- show create table student; -- 查看表
--  alter table student change name name1 varchar(100) not null;  /*修改student表,字段name修改为name1 varchar(100)*/
-- alter table student add addr char(20); /* 修改表,增加addr字段*/
-- alter table student add addr1 varchar(10),add addr2 char(10); /*再增加两个字段,addr1,addr2*/
-- alter table student add id varchar(10) first; /*增加ID字段,并把ID字段放在最前*/
-- alter table student add addr0 varchar(10) after addr;/* 增加addr0字段,并将其放在addr后面*/
-- alter table student drop addr; -- 删除addr字段
-- drop table student; --删除数据表student

Mysql创建表时如何选择该数据库 使用mysql创建数据库的表_SQL_02

数据类型&约束条件

数据类型

字符串 char(num)和varchar(num),前者定长,后者不定长整型 int,满足大部分整数存储浮点型 double(m,n),float(m,n),decimal(m,n) m表示总长度,n表示小数长度日期型 date,日期;datetime,日期时间枚举型 enum,单选,eg:性格;set,多选,eg:爱好

约束条件

主键 primary key 指定该列的值,唯一标识该列 单主键,联合主键

create table info1(name varchar(20) primary key); -- 单主键
create table info0(id int primary key auto_increment,name varchar(100));-- auto_increment,自增,此时可以不用输入id
create table info2(name varchar(20) ,id int,primary key(name,id)); -- 联合主键

非空约束 not null 指定某列不能为空

create table info3(name varchar(20) not null);

唯一约束 unique 指定某列或者几列组合不能重复

create table info (name varchar(100) unique);
insert into info values("张三");    -- 该语句不可二次执行,因为张三只能有一个
create table info1 (name varchar(100),id int, unique(name,id));  -- name,id组合的值不能重复
insert into info1 values("张三",1);

默认值 default 为某列指定默认值,不填则为默认值,比如性别默认为“男”

create table info4 (name varchar(20),id int,sex  enum('男','女') default '男');
insert into info4(name,id) values('李四',1);

外键 foreign key 指定该行记录从属于主表中的一条记录,主要用于参照完整性

-- 外键关联
create table dep(id int primary key auto_increment,dep_name char(10));
create table emp(id int primary key auto_increment,name char(10),dep_id int,foreign key(dep_id) references dep(id));
desc emp;

create table 
emp1(id int primary key auto_increment,
name char(8),dep_id int,
foreign key(dep_id) references dep(id) 
on delete cascade  -- 级联删除
on update cascade); -- 级联更新

Mysql创建表时如何选择该数据库 使用mysql创建数据库的表_Mysql创建表时如何选择该数据库_03

记录的增删改查

首先 单表查询:在一个表内完成查询 多表查询:多个表进行关联查询,如选课表,学生表,教师表 其次,数据表的记录操作,增删改。

总结

MySQL数据库是一个轻量的数据库管理工具,后续会使用SQL语句进行单表和多表查询,这是SQL语句的重点。