sql学习2

1.查看系统中有哪些数据库
show databases;

sql学习2_第1张图片

注意:上面为4个系统数据库,不能删不然数据库就坏了,切记!!!

2.SQL书马要求
SQL语句可以单行或多行书写,用分号结尾SQL关键字用空格分隔,也可以用缩进束来增强语句的可读性,SQL对大小写不敏感,可用#成·· 单行注释,用/**/多行注释,注释语句不执行,数据库名字不能是关键字不能重复 数据库名称可以中文可以英文建议英文

3.数据库的基本结构
数把库:组织,存储和管理相关数把的集合,同一个数据库管理系统中数据库名称必须唯一

表:由固定列数和任意行数构成的二维表结构的数据集,同一个数据库中表明必须唯一

字段:一列即为一个字段,同一个表中字段名必须唯一
记录: 一行即为一条记录
以字段为基本存储和计算单位,每个字段的数据类型必须一致

4.数据表的增删改查
创建数掘表: create table 表名();
建表之前委先选择进入数把库: 用use +数据库名称进入数据库

建表时可以不指定约束条件,但是必须指定表名、字段名及每个字段的数据类型

表名不能与SQL关键字相同,同一个数据库下的表名不能重复
查看当前数据库中所有表: show tables;
.
查看表结构: desc+ 表名;
删除数据表: drop table +表名;
5.MySQL常用数据类型
int:整数型,有符号大小-2147483648-2147483647,无符号大小0-4294967295,默认长度最多为11个数字

foat:单精度浮点型,默认foat(10,2),表示最多10个数字,其中有2位小数
decimal: 十进制小数型,适合金额、价格等对精度要求较高的数据存储,默认decimal(10,0),表示展多10位数字,其中0位小数。

char:固定长度字符串型,长度为1-255,如果长度小于指定长度,右边填充空格。如果不指定长度,默认为1,如char(10)

varchar: 可变长度字符串型,长度为1-255。必须指定长度,如varchar(10)
date: 日期型,yyyy-MM-dd
time:时间型,hh:mm:ss
datetime: 日期时问型, yyyy-MM-dd hh:mm:ss

Timestamp:时间戳,如1973-12-30 15:30时间为:19731230153000

注意:字符串类型和日期时间类型都需要用引号括起来

6.数据表的增删改查
创建数据表:create table 表名(),建表之前要先选择进入数据库: use+ 数据库名称,建表时可以不指定约束条件,但是必须指定表名、字段名及每个字段的数据类型,表名不能与SQL关键字相同,同一个数据库下的表名不能重复

右上角双循环刷新创造的数据库就刷新显示出来了

创建表格式如下


查看当前数据库中所有表: show tables;
查看表结构: desc 表名;
删除数据表: drop table 表名;

7.约束条件
约束条件是在表上强制执行的数据检验规则,用来保证创建的表的数据完整性和准确性,主要在两方面对数据进行的束:空值和重复值
MySQL数据库常用约束条件
PRIMARY KEY 主键约束
NOT NULL  非空约束
UNIQUE  唯一约束
AUTO INCREMENT  自动增长
DEFAULT 默认约束
FOREIGN KEY  外键约束 与主键相对应
约束条件可以不需要但表名字段名必须要有

8.主键约束(primary key)
每个表中只能有一个主键,主键值须非空不重复,可设置单字段主键,也可设置多字段联合主键,联合主健中多个字段的取值完全相同时,违反主键约束
添加主键约束:
列级添加主键约束: create table<表名>(<字段名1><字段类型1> primary key

表级添加主键约束: create table<表名>(<字段名1><字类型1>.primary key(字段名1,字段名2..))

联合主键必须要用第二个表记才行,联合主键单一确定不了,比如有没有身份证号唯一区分,所以可以用联合主键,比如用名字加部门号联合在一起可以,单独不能唯一标识,如果这两个也有重复的就不能作为联合主键,可以考虑再增加一个主键构成联合主键

注意:主键只能有一个,但构成主键的字段可以有多个,主键约束只能有一个唯一约束可以有多个

9.唯一约束(unique)
指定字段的取值不能重复,可以为空,但空值出现一个空值
添加唯一约束:
列级添加唯一约束,表级添加唯一约束同上
自动增长列(auto increment)
指定字段的取值自动生成,默认从1开始,每增加一条记录,该字段的取值会加1,只适用于整救型,配合主键一起使用
创建自动增长的束: <字段名1><类型1> primary key auto.increment

10.非空约束(not null)
字段的值不能为空,创建非空约束:(字段名1><字段美型1> not null

11.默认约束(default)
如果新插入一条记录时没有为该字段赋值,系统会自动为这个字段默值为默认约束设定的值
创建默认约束: <字段名1><字段类型1> default value

12.外键约束(foreign key)
在一张表中执行数据播入,更新、型除等操作时,DBMS都会跟另一张表进行对照,避免不规的操作,以确保数据存储的完整性, 某一表中某字段的值依赖于另一张表中某字段的值, 主键所在的表为主表,外键所在的表为从表,每一个外健值必须与另一个表中的主健值相对应
创建外键约束: foregin key(字段名) reference <主表><主键字段>,外键约束至少要有两张表

下面举一个例子:

sql学习2_第2张图片

use test;
create table dept(
deptno int primary key,
dname varchar(10),
loc varchar(15)
);
create table employee(
empid int primary key auto_increment,
ename varchar(10) unique,
job varbinary(10) not null default '未知',
mgr int,
hiredate date,
sal float default 0,
comm float,
deptno int,foreign key(deptno) references dept(deptno)
);

sql学习2_第3张图片

你可能感兴趣的:(sql,学习)