需要事先说明的一点是,我写的所有 MySQL 的代码将采用大写形式。虽然说至少在 MySQL 环境下,SQL 语句的大小写并不会影响代码运行结果,但是,有同行讲到,SQL 语句大写比是一个更好地习惯。因为在执行程序的时候,如果你用的是小写,会先转化为大写字母然后执行,而如果大写,那就可以省一个转化的时间。在大型的 ERP 系统开发时,往往会这么要求。所以,我也就尽量规范一些了。算是帮自己养成好的习惯。
MySQL 中,数据库的操作基本有:创建,查看,选择,以及删除 4 种。
创建数据库命令:CREATE DATABASE database_name;
,后面的 database_name 是你要创建的数据库的名称。比如创建一个数据库,数据库名为 mybook,执行命令如下:
CREATE DATABASE mybook; #(注意:不要忘记分号)
查看数据库命令: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;
对于表内字段和记录的操作,我们在下一节课程中讲解。