进入数据库的命令:

 

进入mysql : mysql -uroot - p

 

database 数据库

create  创建

英 /kriː'eɪt/

alter  改

英 /'ɔ:ltə/

charset 字符集;字元集

database  美 /'detəbes/n. 数据库,资料库

modify  美 /'mɑdɪfaɪ/ 修改,修饰;更改

 


1.库操作

 

语法:create database 库名(如:student) charset 编码名(utf8;latin1);

增:create database 库名 charset utf8;

查:show databases;

改:alter database 库名 charset latin1(拉丁);

删除:drop database 库名;

#练习:

(1):查看所有的数据库

(2):增加一个数据库stuinfo 编码为latin1

(3)修改数据库的编码为utf8

 


2.表操作

先切换到文件夹下:use 库名;

语法: create table 表名(字段名 类型 字段完整性约束)

增:create table 表名(id int ,name varchar(30));

查:show tables;

改:alter table 表名 modify name char(3);

alter table 表名 change name name1 char(2);

删 : drop table 表名;

查看自己创建表的结构详细信息:desc 表名

 


3.记录操作

增加: insert into 表名 values(1,"jeremy1“),(2,"jeremy2"),(3,"jeremy3“)

查:select * from 表名;

select * from 表名 where id = 3(要用的条件);

改:update 表名 set name = "sb" where id = 2;

删:delete from 表名 where id = 1 ;

 


#NOT NULL约束

1.Not NULL: 非空约束,指定某列不能为空;如果插入数据是该字符为空,则插入数据失败。

2.not null 与 null : not null 代表该字段不能为空,null 代表字段的值可以为空

3.示例:

创建表的语句 :create table 表名(字段名1 类型 字段完整性约束,字段名 2 类型 字段完整性约束,字段名 3 类型 字段完整性约束);

create table tb1 (id int not null,name char(6));

insert into tb1 valuse (null, "jeremy");

insert into tb1 values (1,"jeremy);

 

表的完整性约束

#完整性约束

为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,是不符合规范的数据不能进入数据库,以确保数据中存储的数据正确、有效、相容。

#约束条件都是可选参数,主要分为以下几种:

NOT NULL:非空约束,指定某列不能为空;

DEFAULT:默认只约束

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

PRIMARY KEY :主键,主键这个值可以唯一的标识这条记录(主键唯一且非空)

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

 

 

DEFAULT约束(default)默认值

1.DEFAULT约束:约束一个字段不为空,如果这一列中经常有重复的内容,就需要频繁的插入,操作繁琐,于是出现了默认值概念。

2.实例:

create table tb1 values (id int not null ,name char(6),gender char(3) default"nan");

insert into tb1 values(1,"jeremy","nv");

insert into tb2 values(1,"jeremy",default);

#注意:在终端里写default,如果使用pymysql模块操作mysql数据库,需要写null.

 

UNIQUE约束(unique)

1.UNIQUE约束是约束字段的值唯一的,在一张表中不可重复

2.实例方法示例

(1)。方法1:

create table tatb3(
id int,
name varchar(20) unique,
age int
);

#联合唯一
create table tb4(
id int,
name varchar(20),
department varchar(20),
age int,
unique(name, department)
)

 

#测试:

insert into tb4 values (1,"人工智能","老于",18),(2,"人工智能”,"老王",84),(3,"大数据”,“老于”,19);

insert into tb4 values (4,“人工智能”,“老于”,25);

 


主键约束

PRINMARY KEY 约束 :主键约束

1.主键为了保证表中的每一个数据的该字段都是表格中的唯一值。就是用一个唯一的值来标识这一行数据。

主键可以包含一个字段或多个字段,当主键包含多个字段时称为联合主键。

注意:主键必须唯一,主键值非空。

2.单主键示例:

(1)。方法1:

create table tb6(
id int not null unique,
name varchar (20),
age int
);
#测试:
desc tb5;
insert into tb5 values (1,"laoyu",25);
insert into tb5 values(1,"laoju",22);
insert into tb5 values(1, "laoju",22);

 

(2) 方法二:

create table tb7(
id int primay key,
name varchar(20),
age int
);
# 测试
desc tb6;
insert into tb5 values(1, "laoyu",25);
insert into tb5 values(1,"laoju",22);
######给已存在的表添加主键 #####
create table tb8(
id int,
name varchar(20),
age int,
primary key(id)
);
alter table tb8 modify id int primary key;

 


#5.FOREIGN KEY约束 ,(foreign key)(外键)

外键约束作用

外键约束:对外键字段的值进行更新和插入时会和引用表中字段的数据进行验证,数据如果不合法则更新和插入会失败,保证数据的有效性

(1).产生:两张表产生关联,其中一张表的多个数据关联另一张表的数据

比如多个学生属于一个专业,那么应在多的一方设置外键约束,即学生的表中。

注意:

1.设置外键先要明确在那张表中设置,在多的一方,

2.其次要明白关联另一张表的那个字段

3.被关联的字段必须为主键。另外,外键字段必须与主键数据类型一致。

4.要先建立被关联的那张表,后建存在外键的那张表

# (2).创建:

create table sub (
id int primary key ,
name varchar(32)):
create table stu(
id int primary key,
name varchar(32),
age int ,
zy int,
foreign key (zy) references sub(id)
);

 

添加外键约束: alter table 从表 add foreign key(外键字段) references 主表(主键字段);

删除外键约束: alter table 表名 drop foreign key 外键名;