加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

数据库和表的基本操作

发布时间:2023-01-07 12:51:40 所属栏目:MySql教程 来源:
导读:  数据库和表的基本操作 数据库的基本操作

  MySQL安装后,系统会自动创建几个必须的数据库,MySQL数据库的系统信息都存在数据库中。若删除这些系统数据库,MySQL就不能正常工作。

  1、创建数据库
  数据库和表的基本操作 数据库的基本操作
 
  MySQL安装后,系统会自动创建几个必须的数据库,MySQL数据库的系统信息都存在数据库中。若删除这些系统数据库,MySQL就不能正常工作。
 
  1、创建数据库
 
  基本SQL语法格式为:
 
  CREATE DATABASE 数据库名;
  数据库命名注意:MySQL命令解释器对大小写不敏感,数据库名无论用户输入的是大写还是小写,MySQL命令解释器都是为小写,但是必须符合操作系统文件夹命名规则。
 
  例如,创建一个名为Bookstore的数据库命令:
 
  CREATE DATABASE Bookstore;
  需要查看新建的数据库以及已经存在的数据库使用命令:
 
  SHOW DATABASES;
  2、打开数据库
 
  命令:
 
  USE 数据库名;
  例如,若要对Bookstore数据库进行操作,可以执行命令:
 
  USE Bookstore;
  3、删除数据库
 
  命令:
 
  DROP DATABASE 数据库名;
  注意:DROP DATABASE命令必须小心使用,因为它将永久删除指定的整个数据库信息,包括数据库中的所有表和表中的所有数据。
 
  数据表的基本操作
 
  数据表是由多列、多行组成的表格,数据表包括表结构部分和记录部分,是相关数据的集合。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程。
 
  1、创建数据库表
 
  数据表属于数据库,在创建数据表之前,应该使用语句“USE 数据库名;”指定操作是在哪个数据库中进行,如果没有选择数据库,就会抛出“No database selected”的错误。
 
  创建表使用CREATE TABLE命令。
 
  语法格式:
 
  CREATE TABLE 表名
  (
  列名 数据类型 [列级别约束条件] [默认值],
  列名 数据类型 [列级别约束条件] [默认值],
  ......
  )ENGINE = 存储引擎;
  表名,要创建的表的表名。该表名必须符合标志符规则,如果有MySQL保留字则必须用单引号括起来。
 
  列名,表中列的名宇。列名必须符合标志符规则,长度不能超过 64个字符,而且在表中要唯一。如果有MySQL 保留字则必须用单引号括起来。
 
  数据类型,列的数据类型,有的数据类型需要指明长度n,并用括号括起。
 
  ENGINE= 存储引擎,MySQL 支持数个存储引擎作为对不同表的类型的处理器,使用时要用具体的存储引擎代替存储引擎,如ENGINE=InnoDB。
 
  MySQL 支持的存储引擎有 MyISAM,用来管理非事务表。它提供高速存储和检索以全文搜索能力。
 
  例如,设已经创建了数据库 Bookstore,在该数据库中创建图书目录表 Book。
 
   USE Bookstore;
   CREATE TABLE Book
  (
   ID char(20) NOT NULL PRIMARY KEY,
   type varchar(20) NOT NULL DEFAULT 'computer',
      name varchar(40) NOT NULL,
      author char(10) NOT NULL,
      price float(5) NOT NULL,
      num int(5)
  )ENGINE = InnoDB;
  PRIMARY KEY表示将“ID”字段定义为主键。“DEFAULT ‘computer’”表示“type”的默认值为’computer’。 ENGINE=InnoDB 表示采用的存储引擎是 InnoDB, InnoDB是MySQL 在Windows 平合默认的存储引擎,因此 ENGINE=InnoDB 可以省略。
 
  2、修改表
 
  ALTER TABLE用于更改原有表的结构。
 
  向表中增加新列使用ADD[COLUMN]子句。例如,在表t1中增加新的一列a:
 
  ALTER TABLE t1 ADD COLUMN a TINYINT NULL;
  ALTER TABLE t1 ADD COLUMN a TINYINT FIRST;/*在表的第一列添加新列*/
  ALTER TABLE t1 ADD COLUMN a TINYINT AFTER c;/*在表的指定列c之后添加新列*/
  修改列的名称使用CHANGE[COLUMN]子句。重命名时,需给定旧的列名称和新的列名称及数据类型。例如,要把一个INTEGER列的名称从a变更到b:
 
  ALTER TABLE t1 CHANGE a b INTEGER;
  修改指定列的类型使用MODIFY[COLUMN]子句。例如,把一个列的数据类型改为bigint:
 
  ALTER TABLE t1 MODIFY b bigint NOT NULL;
  删除表中列或约束使用DROP子句。
 
  ALTER TABLE t1 DROP COLUMN a;
  修改该表名使用RENAME子句。例如,将表t1改名为t2:
 
  ALTER TABLE t1 RENAME TO t2;
  3、复制表
 
  当需要建立的数据库表与已有的数据库表的结构相同时,可以采用复制表的方法复制现有数据库表的结构,也可以复制表的结构和数据。
 
  语法格式:
 
  CREATE TABLE 新表名
   [LIKE 参照表名]
   |[AS(SELECT语句)]
  LIKE, 使用 LIKE 关键宇创建一个与参照表名相同结构的新表,列名、数据类型、空指定和索引也将复制,但是表的内容不会复制,因此创建的新表是一个空表。
 
  AS,使用 AS 关键字可以复制表的内容,但索引和完整性约束是不会复制的。SELECT 语句表示一个表达式数据库查询操作,例如,可以是一条 SELECT 语句
 
  假设数据库 Bookstore 中有一个表 Book,创建与 Book 表结构相同的名为book_copy1的拷贝。
 
  CREATE TABLE book _copy1 LIKE Book;
  若在复制结构的同时还要复制其数据,需要使用 AS 关键字,使用 SELECT 语句对需要复制的数据进行选择。
 
  创建表 Book 的一个名为book copy2 的副本,并且复制其内容。
 
  CREATE TABLE book_copy2
  AS
  (SELECT * FROM Book);
  4、删除表
 
  需要删除一个表时可以使用 DROP TABLE 语句。
 
  语法格式:
 
  DROP TABLE 表名1[,表名2]…
  5、显示数据表信息
 
  显示数据表文件名
 
  SHOW TABLES 命令用于显示已经建立的数据表文件。
 
  语法格式:
 
  SHOW TABLE
  例如,显示Bookstore 数据库建立的数据表文件。
 
  USE Bookstore;
  SHOW TABLES;
  显示数据表结构
 
  DESCRIBE 语句用于显示表中各列的信息,其运行结果等同于 SHOW COLUMNS FROM 语句。
 
  语法格式:
 
  {DESCRIBE | DESC} 表名[列名|通配符]
  DESCRIBE | DESC, DESC 是DESCRIBE 的简写,二者用法相同。
 
  列名|通配符,可以是一个列名称,或一个包含%和_的通配符的字符串,用于获得对于带有与字符串相匹配的名称的各列的输出。没有必要在引号中包含字符串,除非其中包含空格或其他特殊字符。
 
  例如,用DESCRIBE 语句查看 Book 表的列的信息。
 
  DESCRIBE Book;
  查看 Book 表的ID列的信息。
 
  DESCRIBE Book ID;
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!