文章目录
前言
一、数据库操作
二、表操作
三、字段操作
四、字段约束
前言
MySql数据库增删改查常用语句命令,小编整理资料不易,喜欢可三连,不定时更新干货,
一、数据库操作
MySQL 中,数据库的操作基本有:创建,查看,选择,以及删除 4 种。
创建数据库命令:CREATE DATABASE database_name;
,后面的 database_name 是你要创建的数据库的名称。比如创建一个数据库,数据库名为 mybook,执行命令如下:
CREATE DATABASE mywork; #(注意:不要忘记分号)
查看数据库命令:SHOW DATABASES;
,查看已经创建的所有数据库。比如查看出我们的 mysql 数据库管理系统内的所有数据库,执行命令如下:
SHOW DATABASES; #(注意:不要忘记分号)
选择数据库命令:USE database_name;
,选择名为 database_name 的数据库,很多数据库的操作都需要先选中一个数据库,再执行进一步的操作。比如我们想操作数据库 mybook,就需要先选择该数据库,执行命令如下:
USE mybook; # (注意:不要忘记分号)
删除数据库命令:DROP database database_name;
,删除名为 database_name 的数据库。比如删除我们刚刚建立的数据库 mybook,执行命令如下:
DROP DATABASE mybook; #(注意:不要忘记分号)
二、表操作
建好了数据库,我们选择一个数据库,来对它进行表的相关操作。表是数据在数据库中一种逻辑上的存储形式,和常见的电子表格类似,其中每一行代表一个记录(可以理解成一个数据对象),而记录的每一列代表一个字段(其实你可以理解成数据对象的属性)。
表的基本操作有创建,查看,删除,修改 4 种基本操作。
创建数据库表命令:CREATE TABLE tablename (column_name column_type ...);
。比如我们想在 mybook 数据库中创建一个名字为 tab_books 的表,首先选择数据库 mybook,然后执行如下命令:
CREATE TABLE tab_books(
book_id int auto_increment primary key,
book_name varchar(100) NOT NULL
);
其中,tab_books 表示要创建的表的名称。对于上面代码的第二行:book_id 表示表中第 1 个字段(也就是属性)的名称,int 表示 book_id 字段所对应的值的数据类型为 int,auto_increment 是表示 book_id 字段的值是自增长的(我们不需要自己赋值),primary key 是说 book_id 这个字段是主键;对于代码的第三行:book_name 表示表中第 2 个字段的名称,varchar(100)表示 book_name 字段所对应的值的数据类型为字符串,且字符串不能超过 100 个字符,NOT NULL 代表 book_name 的值为非空。
这里多说一句,Mysql 中的数据类型大致上分为“整数”,“浮点数”,“定点数”,“位”,“日期”,“时间”,“字符串”这么几种。东西太杂,也没必要具体介绍,简单知道就行,具体用到时,可以再查。
另外,如果想要查看当前数据库中有哪些表,可以先选择当前数据库,再通过语句 SHOW TABLES 查看。而具体查看已经创建的某个表的信息,则通过下面讲的方式了。
查看数据库中的所有表命令:SHOW TABLES;
。比如我们查看 mybook 数据中的所有表,首先我们先选择数据库 mybook,然后执行如下命令:
USE mybook; # 选择数据库 mybook
SHOW TABLES; # 查看 mybook 中的表 tab_books
查看数据库中某个表的结构(表中的字段名称和类型等)命令:DESC tables;
。比如我们想查看 tab_books 表的结构,可以执行如下命令:
USE mybook; # 选择数据库 mybook
DESC tab_books; # 查看数据库表 tab_books 的结构
删除数据库表命令:DROP table 表名;
。比如我们删除 mybook 数据库中的 tab_books 表,可以执行如下命令:
USE mybook; # 选择数据库 mybook
DROP table tab_books; # 删除数据库表 tab_books
修改数据库表名命令:ALTER TABLE old_table_name RENAME new_table_name 语句用来修改表名,其中 “old_table_name” 是旧表名,”new_table_name” 是新表名,当然,这里所要操作的对象一定得是存在的,不然会报错。
例如,还是上面的例子:
ALTER TABLE tab_books RENAME tab_bookxx;
三、字段操作
字段的基本操作有增,删,改,查 4 种基本操作,而且字段还有约束功能,我们下面给大家一一介绍。
字段操作
增加字段命令:ALTER TABLE table_name ADD column_name column_type;
。代表的意思是:在表 “table_name” 末尾,增加属性名为 column_name,数据类型为 column_type 的字段。比如我们想给 mybook 数据库中的 tab_books 表添加一个价格字段,我们可以使用如下命令:
ALTER TABLE tab_books ADD book_price INT;
删除字段命令:ALTER TABLE table_name DROP column column_name;
。代表的意思是:在表 中删除 column_name 字段,比如我们想删除 mybook 数据库中的 tab_books 表的 book_price 字段,我们可以使用如下命令:
ALTER TABLE table_name DROP column book_price;
修改字段属性:ALTER TABLE table_name MODIFY column_name New_column_type;
。代表的意思是:将属性名为 “column_name” 的字段的数据类型新设置为 “New_column_type”。比如我们发现有的书籍价格还有零头,我们想修改价格字段的属性为浮点数,可以是使用如下命令:
ALTER TABLE tab_books MODIFY book_price FLOAT;
修改字段名称:ALTER TABLE table_name CHANGE Old_column_name New_column_name Old_column_type;
。比如我们修改字段 book_price 的名称为 price,可以使用如下命令:
ALTER TABLE tab_books CHANGE book_price price FLOAT;
修改字段名称和属性:ALTER TABLE table_name CHANGE Old_column_name New_column_name New_data_type;
。CHANGE 不但可以修改字段的名字还可以修改字段的属性,CHANGE 的功能包括 MODIFY 的功能。比如我们修改字段 book_price 的名称为 price,类型 FLOAT 为 INT,可以使用如下命令:
ALTER TABLE tab_books CHANGE book_price price INT;
查看表中所有字段属性:DESC table tab_books;
。这个命令我们上节课已经讲过了。比如查看 tab_books 表中所有字段的属性,可以使用如下命令:
DESC table tab_books;
四、字段约束
表字段的约束是用来检验表中数据的完整性的,说的直白一些,就是检验表中的数据是否满足了规定的条件。以 tab_books 表举例来说,如果我不愿意令字段 ID 为空,就可以在建表时定义相关的约束。如果用户在插入数据时,违反了这样的约束条件,就会报错。当然可以定义的约束条件分很多种,下面会一一讲解。
我们可以在创建表的时候或者后期通过 CHANGE 或 MODIFY 命令设置字段约束,下面的例子中,我们使用 MODIFY 来设置字段约束。
设置字段非空约束:关键字 NOT NULL 用来约束某字段不能为空,下面的代码,将字段 “book_price” 的值设置为非空。语法形式如下:
ALTER TABLE tab_books MODIFY book_price INT NOT NULL;
设置字段的默认值:关键字 DEFAULT 用来设置字段的默认值。如果在插入数据时,没有为某个字段赋值,则 Mysql 会自动为这个字段赋值为默认值。下面代码将字段 “book_price” 的默认值设置为 80。其语法形式如下:
ALTER TABLE tab_books MODIFY book_price INT DEFAULT 80;
设置唯一约束:关键字 UNIQUE 用来设置对某个字段的唯一约束,唯一约束表示,插入的数据在这个字段上的值得是唯一的,不能重复(你可以类比一般编程语言中“键值对”的“键”)。以学生的信息系统为例,每个人的学号信息应该是唯一的,那么在录入数据时,如果这一项出现了重复,那必然是出错了。所以我们最好设置唯一值约束,如果出现重复,则报错。下面代码将字段 “book_price” 设置为唯一约束。其语法形式如下:
ALTER TABLE tab_books MODIFY book_price INT UNIQUE;
当然,我们可以给一字段设置多个约束,比如我们对字段 “book_price” 设置为:“非空”,“默认值”,“唯一”的约束:
ALTER TABLE tab_books MODIFY book_price INT NOT NULL DEFAULT 80 UNIQUE;
设置主键约束:主键的作用在于用某个字段唯一地标识所有记录,以便在数据库中快速地查找数据。比如我们一般用索引号来唯一标识每一条数据记录。由于主键可以是单一字段,也可以是多个字段,所以,下面分两种情况讨论:
单字段主键:用关键字 PRIMARY KEY 设置主键。比如,还是 tab_student 的例子,现在将学号设置为主键。
CREATE TABLE tab_student(
ID VARCHAR(20) PRIMARY KEY, # 设置学生ID为主键
Score INT,
Gender CHAR
);