当前位置:Gxlcms > 数据库问题 > 数据库系统原理(第四章:SQL与关系数据库基本操作 )

数据库系统原理(第四章:SQL与关系数据库基本操作 )

时间:2021-07-01 10:21:17 帮助过:18人阅读

{DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT]CHARACTER SET[=]charset_name |[DEFAULT]COLLATE[=]collation_name

例句:create DATABASE test_sy CHARACTER SET ="UTF8" COLLATION ="utf8_general_ci";     CREATE DATABASE mysql_test;

  1. 字符集(character set):定义了字符以及字符的编码。
  2. 字符序(collation):指定字符集的 校对规则。

查看数据库(SHOW):查看数据库的所有表

SHOW {DATABASES | SCHEMAS}
 [LIKE’pattern’ | WHERE expr]

Like关键字用于匹配指定的数据库名称; Where从句用于指定数据库名称查询范围的条件

例句:SHOW DATABASES;  SHOW DATABASES LIKE "%test%";

SHOW TABLES:查看数据库非系统表

 

选择数据库(USE):USE db_name;  从一个数据库“跳转”到另一个数据库。

修改数据库:alert

mysql>ALTER DATABASE mysql_test
 -> DEFAULT CHARACTER SET gb2312
 -> DEFAULT COLLATE gb2312_chinese_ci;

删除数据库:

DROP{DATABASE|SCHEMA}[IF EXISTS]db_name

例句:DROP DATABASE hahaha;   DROP DATABASE IF EXISTS hahaha;

*****************************表定义**********************************

创建表:数据表是关系数据库中最重要、最基本的数据对象, 也是数据存储的基本单位。

数据表, 被定义为字段的集合 按(行 )和(列 )的格式来存储的, 每一( 行)代表一条记录, 每一(列 )代表记录中一个字段的取值。

CREATE[TEMPORARY]TABLE tbl_name
 (
 字段名1 数据类型 [列级完整性约束条件][默认值]
 [,字段名2 数据类型 [列级完整性约束条件][默认值]]
 [,……]
 [,表级完整性约束条件]
 )[ENGINT=引擎类型]

若添加“TEMPORARY”,则为临时表

在一个已有数据库mysql_test中新建一个包含客户姓名、性别、地址、 联系方式等内容的客户基本信息表,要求将客户的id号指定为该表的 主键。

技术图片

 

 

PRIMARY KEY(cust_id):指定主键

数据类型:

  • 整型int
  • 浮点型double
  • 布尔型bool
  • 日期型date
  • 时间戳timestamp
  • 时间型time 定长
  • 字符类型char
  • 可变长字符varchar

更新表(ALTER):使用ALTER TABLE语句,增加或删减列、创建或取消索引、更改原有列的 数据类型、重新命名列或表,更改表的评注和表的引擎类型,为表重新创 建触发器、存储过程、索引和外键等。

1、ADD COLUMN 

例如:向数据库mysql_test的表customers中添加一列,并命名为 cust_city,要求其不能为NULL,默认值为字符串“Wuhan”,且该列位 于原表cust_sex列之后。

ALTER TABLE mysql_test.customers ->ADD COLUMN cust_city char(10)NOT NULL DEFAULT ‘Wuhan’ AFTER cust_sex;

2、CHANGE[COLUMN]子句 修改表中列的名称或数据类型

技术图片

 

 3、ALTER[COLUMN]子句 修改或删除表中指定列的默认值

  ALTER TABLE mysql_test.customers ->ALTER COLUMN cust_city SET DEFAULT ‘Beijing’;

4、MODIFY[COLUMN]子句 只修改指定列的数据类型,不会干涉它的列名

  ALTER TABLE mysql_test.customers ->MODIFY COLUMN cust_name char(20) FIRST;

5、DROP[COLUMN]子句 删除表中多余的列

ALTER TABLE mysql_test.customers ->DROP COLUMN cust_contact;

6、RENAME[TO]子句 为表重新赋予一个表名

ALTER TABLE mysql_test.customers ->RENAME TO mysql_test.backup_customers;

给表重命名表的第二种写法:RENAME TABLE db_a.old_table TO db_b.new_table;

7、DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [ ,tbl_name ] … [RESTRICT | CASCADE]

 

查看表结构:

SHOW [FULL] COLUMNS {FROM | IN} tbl_name[{FROM | IN} db_name] [LIKE’pattern’ | WHERE expr]

例如:SHOW COLUMNS FROM t_role;

{DESCRIBE | DESC} tbl_name [col_name | wild]

例如:DESC t_role;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据更新

 

数据查询

 

 

视图

数据库系统原理(第四章:SQL与关系数据库基本操作 )

标签:sch   pattern   contact   运算符和   ora   完整性   基本操作   匹配   特点   

人气教程排行