数据库学习---4
来源:互联网 发布:数据库图片存储类型 编辑:程序博客网 时间:2024/05/29 19:54
选择数据库
USE 数据库名
选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
SHOW TABLES:
显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
SHOW COLUMNS FROM 数据表:
显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
SHOW INDEX FROM 数据表:
显示数据表的详细索引信息,包括PRIMARY KEY(主键)。 SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G
该命令将输出Mysql数据库管理系统的性能及统计信息。
使用 mysqladmin 创建数据库
mysqladmin -u root -p create 数据库名
使用 mysqladmin 删除数据库
mysqladmin -u root -p drop 数据库名
所有的数据库名,表名,表字段都是区分大小写的。
表是数据库存储数据的基本单位。一个表包含若干个字段或记录。
创建表的语法形式
CREATE TABLE <表名>
(<列名> <数据类型><列级完整性约束条件>
<列名> <数据类型><列级完整性约束条件>…
[<表级完整性约束条件> ] );
<表名>:所要定义的基本表的名字
<列名>:组成该表的各个属性(列)
<列级完整性约束条件>:涉及相应属性列的完整性约束条件
<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件
完整性约束条件是对字段进行限制。要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不执行用户的操作。其目的是为了保证数据库中数据的完整性。
常用完整性约束
主码约束: PRIMARY KEY
主键是表的一个特殊字符。该字段能唯一地标识该表中的每条信息。
主键用来标识每个记录,每个记录的主键值都不同。
设置表的主键指在创建表时设置表的某个字段为该表的主键
主键必须满足的条件就是主键必须时唯一的,表中任意两条记录的主键字段的值不能相同;主键的值时非空值。主键可以是单一的字段,也可以是多个字段的组合。
单字段主键、多字段主键
单字段主键语法规则如下
属性名 数据类型 PRIMARY KEY
多字段主键
主键是由多个属性组合而成时,在属性定义完之后统一设置主键。
语法规则如下:
PRIMARY KEY(属性名1,属性名2,….,属性名n)
多字段的组合可以确定唯一的一条记录
外键: FOREIGN KEY
设置表的外键指在创建表设置某个字段为外键。
设置外键的原则就是必须依赖于数据库中已存在的父表的主键;外键可以为空值。
外键的作用是建立该表与其父亲表的关联关系。父亲表中删除某条信息时,子表中与之对应的信息也必须有相应的改变。
设置外键的基本语法规则如下:
CONSTRAINT 外键别名 FOREIGN KEY(属性1.1,属性1.2,….属性1.n)—-子表
REFERENCES 表名(属性2.1,属性2.2,…,属性2.n)—-父表
子表的外键关联的必须是父表的主键。而且,数据类型必须是一致。
唯一性约束:UNIQUE
唯一性约束将保证所有记录中该字段的值不能重复出现。
设置唯一性约束的基本语法规则如下:
属性名 数据类型 UNIQUE
非空值约束:NOT NULL
非空约束将保证所有记录中该字段都有值。如果用户新插入的记录中,该字段为空值,则数据库系统会报错。
设置非空约束的基本语法规则如下:
属性名 数据类型 NOT NULL
自动增加: AUTO_INCREMENT
其主要用于为表中插入的新纪录自动生成唯一的ID。一个表只能有一个字段使用AUYO_INCREMENT约束,且该字段必须为主键的一部分。
AUTO_INCREMENT约束的字段可以是任何整数类型。默认情况下,该字段的值是从1开始自增。
设置属性值字段增加的基本语法规则如下:
属性名 数据类型 AUTO_INCREMENT
默认值:DEFAULT
如果插入一条新的记录时没有为这个字段赋值,那么数据库系统会自动为这个字段插入默认值。
设置默认值的基本语法规则如下:
属性名 数据类型 DEFAULT 默认值
查看表基本结构
DESCRIBE 表名
可以缩写成DESC
查看表详细结构语句
SHOW CREATE TABLE 表名
\G 参数 可以更加美观的显示内容
修改表
修改表名
ALTER TABLE 旧表名 RENAME [TO] 新表名
修改字段的数据类型
ALTER TABLE 表名 MODIFY 属性名 数据类型
修改字段名
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型
MODIFY和CHANGE都可以改变字段的数据类型。不同的是,CHANGE可以在改变字段类型的同时,改变字段名。如果使用CHANGE修改字段数据类型,那么CHANGE后面必需跟两个同样的字段名。
增加字段
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST] AFTER 属性名2
其中,FIRST参数是可选参数,其作用是将新增字段设置为表的第一个字段;AFTER 属性名2 参数也是可选参数,其作用是将新字段添加到属性名2所指的字段后。如果没有上述参数,新增的字段默认为表的最后一个字段。
删除字段
ALTER TABLE 表名 DROP 属性名
修改字段的排列位置
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2
更改表的存储引擎
ALTER TABLE 表名 ENGINE=存储引擎名
删除表的外键约束
ALTER TABLE 子表名 DROP FORRIGN KEY 外键别名
删除基本表
删除表时,会删除表中的所有数据。
DROP TABLE <表名>;
删除被其他表关联的父表
a 先删除子表的外键约束
b 再删除父表
建立索引是加快查询速度的有效手段
索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。
索引由数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度。
索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种结构。索引可以提高查询的速度。
通过索引,查询数据时可以不必读完记录的所有信息,而只是查询索引列。
索引有两种存储类型,包括B型树索引和哈希索引。
索引可以提高查询的速度,但是会影响插入记录的速度。因为,向有索引的表中插入记录时,数据库系统会按照索引进行排序。
索引的分类
a 普通索引
b 唯一性索引
使用 UNIQUE参数
c 全文索引
使用FULLTEXT参数
d 单列索引
e 多列索引
使用多列索引时一定要特别注意,只有使用了索引中的第一个字段时才会触发索引。
f 空间索引
使用 SPATIAL参数
创建索引
a 创建表的时候直接创建索引
CREATE TABLE 表名(属性名 数据类型[完整性约束条件[UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名](属性名[(长度)][ASC|DESC]));
b 在已经存在的表上创建索引
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
c 已经存在的表,用ALTER TABLE语句来创建索引
ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名(属性名[(长度)][ASC|DESC])
删除索引
DROP INDEX <索引名> ON 表名;
- JAVA学习数据库4
- 数据库学习---4
- 数据库学习4
- 数据库学习4 计算字段
- Django学习4:操作数据库
- 学习数据库
- 学习数据库
- 数据库学习
- 数据库学习
- 数据库学习
- 学习数据库
- 数据库学习
- 数据库学习
- 数据库学习
- 数据库学习
- 数据库学习
- 数据库学习
- 数据库学习
- Android权限详解
- Android加载gif图片
- (POJ
- 在eclipse中使用maven创建springMVC项目
- sudo 自动输入密码的脚本 alias别名
- 数据库学习---4
- 欢迎使用CSDN-markdown编辑器
- Android Studio apk 打包流程
- PullToRefresh+HorizontalScrollView+DrawerLayout
- STM32F072使用SD卡进行IAP升级
- 【干货分享】大数据计算服务MaxCompute使用教程
- S3C2440 gpio
- 自定义Toast
- Win10 中的文件链接