数据库的创建(create): create database 数据库名;

数据库的删除(drop): drop database 数据库名;

数据库的切换(use): use 数据库名;

数据库的查看(show,desc): show databases;

数据库详细信息查看: show create database 数据库名;

一 、创建表

表是一种重要的数据库对象,存储数据库中所有的数据,如果把数据库比喻成菜鸟驿站,那表就像驿站中放置快递的架子,一个表就是一个实体集,表实质上是行和列的集合,每一行代表一条记录(元组),每一列代表记录的一个字段(属性)。每个表由若干行组成,表的第一行为各列标题,其余行都是数据。 每一列必须具有相同的数据类型,表的行数和总大小仅受可用空间的限制。

特殊的NULL(空)值

null值不是“0”,也不是空格,它是一个比较特殊的值。一般表示值是否为空。在进行数据类型定义的时侯,系统一般默认字段值允许为空值,是不会显示的,或者是在图形化操作界面创建表字段操作窗口会有“是否允许为空”的勾选项。如果勾选上了,表示允许值为空。否则不允许为空值。如果是使用命令行窗口,进行数据类型定义,不允许为空时,就要在该数据类型定义行,添加“not null”,还有一种情况,如果在某列上设置了主键,该列也不允许重复值,也不允许出现空值。

表的创建有三个要素:字段名(属性),数据类型(字符串类型、日期时间型、整型),数据特征(是否为空,有没有主键)

1、创建表的方法有两种

第一种:图形化操作:连接服务器后,单击选定数据库展开目录,选择表,在弹出的快捷菜单中选择“新建表”命令,或者使用工具栏上的图形化按钮,均可以进行数据库的创建;

在弹出的表设计器中,输入字段名,数据类型,设置字段是否允许为空等。即完成表结构的设计。接下来可向表中添加数据。

第二种:使用SQL语句进行表的创建

表的创建:create table 表名(字段名1 数据类型(数据长度) 数据特征,字段名2 数据类型(数据长度) 数据特征,字段名3 数据类型(数据长度) 数据特征);

例如:创建一个班级表grade,表结构定义如下:

字段名       数据类型       长度      是否为空

BID(班级代码)       char          6           否

BNAME(班级名称)   varchar        20          否

PID系部代码        char          4           否

创建该表的SQL语句为

Create table grade(bid char(6) not null,

Bname varchar(20) not null,

Pid char(4) not null);

扩展:创建表时指定存储引擎和字符集

查看数据库中所有的数据表:show tables;

查看某个数据表:show create table 表名注意:此处的表名的是要查询数据表的名称,且要切换到对应用户数据库,否则屏幕会提示出错。

查看表的详细信息,并以表格样式显示:describe 表名=desc 表名;

二、表结构的修改见第五周笔记

三、向表中添加记录

向表中插入数据:

最简单:insert into 表名 values(字段值1,);

最严谨:insert into 表名(字段名1,字段名2,字段名3) values(字段值1,字段值2,字段值3);

使用较少:insert into 表名  set 字段名1=字段值1,字段名2=字段值2;

同时添加多条记录:insert into 表名 values(字段值1,字段值2,字段值3…),(字段值1,字段值2,字段值3…),(字段值1,字段值2,字段值3);

注意:字符串类型的数据在使用的时候要用单引号括起来;字段名和字段值是对应的关系,每个值的顺序、类型必须与对应的字段相匹配。

查看表中所有的数据(查询语句):select * from 表名;

四、删除表:drop table 表名;

小结:create,alter,drop都属于SQL(结构化查询语句)中的数据定义语言。

五、约束是一种限制,它通过限制表中的数据,来确保数据的完整性和唯一性。使用约束来限定表中的数据是很有必要的。约束是为了保证数据完整性提出的,并对用户不符合要求的操作进行终止。

约束的类型:

1)主键约束(primary key)

主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。主键约束具有唯一性。

主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。例如,学生信息表中的学号是唯一的。

2)外键约束

外键约束经常和主键约束一起使用,用来确保数据的一致性。

例如,一个水果摊,只有苹果、桃子、李子、西瓜 4 种水果,那么,你来到水果摊要买水果只能选择苹果、桃子、李子和西瓜,不能购买其它的水果。

3)唯一约束(unique)

唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的,但是只能有一个空值。

例如,在用户信息表中,要避免表中的用户名重名,就可以把用户名列设置为唯一约束。

4)非空约束

非空约束用来约束表中的字段不能为空。例如,在学生信息表中,如果不添加学生姓名,那么这条记录是没有用的。

5)默认值约束

默认值约束用来约束当数据表中某个字段不输入值时,自动为其添加一个已经设置好的值。默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。

以上 6 种约束中,一个数据表中只能有一个主键约束,其它约束可以有多个。

命令行约束的设置:

一、not null

举例:创建表时设置非空约束

create table 表名(字段名 数据类型(长度) 数据特征);

create table stu_1(sno int not null,sname char(8) not null,sex char(2),telephone char(11));

二、命令行方式设置主键约束primary key;

1 、创建表时添加约束

create table stu_1

(sno int not null primary key,

sname char(8) not null,

sex char(2),

telephone char(11));

或者是在定义完所有字段之后指定主键,语法格式如下:

create table stu_2

(sno int not null,

sname char(8) not null,

sex char(2),

telephone char(11)

primary key(sno));

2、在已经创建的表中基本字段上添加主键

Alter table 表名 add primary key(字段名);

结果

3、删除主键约束

Alter table 表名 drop primary key;

扩展:在已创建的表上添加主键约束,并给该约束取名字,便于后期操作。注意:由于主键约束在一个表中只能有一个,因此不需要指定主键名就可以删除一个表中的主键约束

ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);

三、唯一约束:唯一约束与主键约束相似的是它们都可以确保列的唯一性。不同的是,唯一约束在一个表中可有多个,并且设置唯一约束的列允许有空值,但是只能有一个空值。而主键约束在一个表中只能有一个,且不允许有空值。唯一约束可以在创建表时直接设置,通常设置在除了主键以外的其它列上。

1、在定义完列之后直接使用 UNIQUE 关键字指定唯一约束,语法格式如下:

<字段名> <数据类型> UNIQUE

如:create table stu_3

(sno int not null primary key,

sname char(8) not null,

sex char(2),

telephone char(11)  unique);

2、在已有表上添加一个唯一约束

ALTER TABLE 表名  ADD CONSTRAINT 约束名 UNIQUE(字段名);

3、删除约束

注意:此处的唯一约束删除有一点麻烦,要知道唯一约束的约束名才能删除,而且在删除时,需要在约束名的前面加上index(索引)标识。

四、默认值(Default)的完整称呼是“默认值约束(Default Constraint)”,用来指定某列的默认值。在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。

例如,员工信息表中,部门位置在北京的较多,那么部门位置就可以默认为“北京”,系统就会自动为这个字段赋值为“北京”。

默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。

1、创建表时可以使用 DEFAULT 关键字设置默认值约束,具体的语法格式如下:

<字段名> <数据类型> DEFAULT <默认值>;

如:create table stu_3

(sno int not null primary key,

sname char(8) not null,

sex char(2) default ‘男’,

telephone char(11)  unique);

2、修改表时添加默认值约束的语法格式如下:

ALTER TABLE <数据表名>

Modify <字段名> <数据类型> DEFAULT <默认值>;  注意:如果默认值是字符型,要用英语半角单引号括起来。

使用修改字段的数据类型命令

删除默认值约束,还是使用修改字段的数据类型命令使用

综合应用:

五、定义字段值自增长

在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。

通过给字段添加 AUTO_INCREMENT 属性来实现主键自增长。语法格式如下:

字段名 数据类型 AUTO_INCREMENT

注意:

  1. 默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。
  2. 一个表中只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。
  3. AUTO_INCREMENT 约束的字段必须具备 NOT NULL 属性。
  4. AUTO_INCREMENT 约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT 等)。
  5. AUTO_INCREMENT 约束字段的最大值受该字段的数据类型约束,如果达到上限,AUTO_INCREMENT 就会失效。

例如:

mysql> CREATE TABLE tb_student(

-> id INT(4) PRIMARY KEY AUTO_INCREMENT,

-> name VARCHAR(25) NOT NULL

-> );

Query OK, 0 rows affected (0.07 sec)

上述语句执行成功后,会创建名为 tb_student 的数据表。其中,id 为主键,每插入一条新记录,id 的

值就会在前一条记录的基础上自动加 1。name 为非空字段,该字段的值不能为空值(NULL)。

扩展:AUTO_INCREMENT初始值的修改

加上 AUTO_INCREMENT 约束条件后,字段中的每个值都是自动增加的。因此,这个字段不可能出现相同的值。通常情况下,AUTO_INCREMENT 都是作为 id 字段的约束条件,并且将 id 字段作为表的主键。

该字段在添加记录时,可以省略值。

修改后的结果:

数据库的基本操作和约束相关推荐

  1. 通过sql语句对MySql数据库的基本操作

    一.数据库的基本操作 1 CREATE DATABASE mybookstore; 2 DROP DATABASE mybookstore; 二.表的基本操作 1.创建表 insert into 表名 ...

  2. mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)

    MySQL数据库概述 MySQL数据库是经典的关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Dat ...

  3. linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一

    Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...

  4. 1-1 MySQL数据库的基本操作 【增删改查】

    1-1 MySQL数据库的基本操作 [增删改查] 一.基础操作 创建数据库 查看数据库 选择数据库 删除数据库 二.建立一个基础数据库 三.基本操作 外键约束与字段自增 数据的增删改 数据查询 数据排 ...

  5. 数据库的基本操作(一)

    一.数据库: (一)数据库的组成: 表:构成数据库的单元,存放数据库中基本数据 视图:对多个表进行组合,进行集中显示 存储过程:模块,可调用,可编程性→存储过程 触发器:避免错误操作,如误删 用户与角 ...

  6. 数据库的基本操作(期末复习大全)

    数据库的基本操作 一.数据库的创建 语法格式:create database 数据库名: 例如:创建一个数据库 xxgc 查看数据库 语法格式:show databases; 如果想要查看已经创建好的 ...

  7. 备考全国计算机三级数据库考试+自学MySQL 第二章第三章数据库的基本操作

    第二章MySQL的安装与配置 有Windows和Linux两种版本.(个人建议:先装一个VMware虚拟机,在里面装MySQL).安装步骤自行百度,或者后期,再补发,安装文件直接下载MySQL官方文件 ...

  8. 数据库系统原理——第四章 SQL与数据库的基本操作(1)知识点总结(自考本)

    当你想挣一百块的时候你就要把目标定成一千块,这样才挣得更多. 第四章 SQL与数据库的基本操作 SQL概述 什么是SQL? SQL的特点 SQL的四大功能 数据定义语言 数据操纵语言 数据控制语言 嵌 ...

  9. JDBC编程:2(数据库的基本操作)

    数据库的基本操作 查询数据 在开始前先简单地介绍一下什么是静态SQL和动态SQL: 静态SQL,在编译阶段就可以确定数据库要做什么事情.在某种高级语言中,如果嵌入了SQL语句,而这个SQL语句的主体结 ...

  10. 数据库的定义、关系型数据库的四种约束。。

    今天离开C#开始进入数据库的学习,初步认识了一下:1,什么是数据库  2,数据库表的创建  3,关系型数据库的四种约束方法 1,什么是数据库: (1)定义:数据库是存储在计算机硬盘上,有组织,可以共享 ...

最新文章

  1. LSTM训练手写数字识别
  2. J2ME开发心得-数组的使用
  3. Pandas读取中文文本文件报错:python ‘utf-8‘ codec can‘t decode byte 0xe3 in position 0: unexpected end of data
  4. 面对女人的喋喋不休时,男人内心的真实想法
  5. Windows 中自定义Error Codes
  6. The xxx collides with a package/type
  7. 如果在2008年用10万元投资腾讯,现在可以实现财务自由吗?
  8. Google 要放弃 Android 了?
  9. 用python开启相机_使用“打开”编辑相机设置
  10. Java异常与异常处理简单使用
  11. [转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换
  12. 1081. 不同字符的最小子序列
  13. java通讯录管理系统答辩_java版通讯录管理系统
  14. PMP考试重点总结八——监控过程组(2)
  15. vc2008中如何调试dll
  16. Gensim库的使用——Doc2Vec模型(一)介绍与使用
  17. 网吧服务器磁盘性能,网吧游戏服务端显示磁盘已满怎么解决
  18. 赛格威机器人待遇_赛格威机器人:泊车助理只是应用之一,开发者计划让机器人有无限可能...
  19. Javascript与多线程
  20. MariaDB 开源下的商业化征途

热门文章

  1. 缺少vclie60.bpl的解决方法
  2. RUBY发送验证码通知短信(互亿无线)
  3. CDA level 1 业务分析师 推荐学习书目
  4. 基于ARINC664标准的AFDX通信协议概述
  5. Matlab中绘制折线图(附matlab代码)
  6. 【MSFconsole进阶】auxiliary模块:信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等
  7. 三宝小精灵机器人_“三宝”机器人
  8. 成都计算机影响力高校,成都最好的三所大学,你更青睐哪一所?
  9. 在线付费听音乐平台网站源码
  10. Halcon教程第一讲 读取多张图片