目录
一、数据库
二、数据库的使用
1.创建数据库
2.删除数据库
3.数据表的基础知识
4.创建数据表
三、数据库中的记录
1.插入记录
2.修改数据表中的记录
删除记录
四、复制表
复制数据表结构
复制表结构和表记录
将完整数据复制到复制表中
查看数据表中所有记录
本人关于数据库入门整理,多多支持,后续内容会继续补充,感谢。
关于MySQL数据库应用与设计任务的设计知识有:NySQL的下载,安装,配置,E-R图,概念设计,逻辑设计,数据类型,表,数据库,运算符,函数,约束,数据完整性,触发器,查询,视图,存储过程,安全,权限等知识。
数据库系统模型:层次模型,网状模型,关系模型
数据库的设计:概念设计、逻辑设计、物理设计
常见数据库:
Oracle:支持LINUX、Windows等多平台处理强,适用于大型公司、机构等。
SQL SERVER:可运行在WindowsNT/2000/XP等操作系统。
ACCESS数据库:Microsoft公司,简单易学。
MySQL:开源、免费、多平台使用、运行快、用户权限设置简单等。
MySQL的特点:
1、可移植性强 2、运行快 3、支持多平台 4、支持各种开发语言 5、提供多种引擎
6、功能强大 7、安全性高 8、价格低廉
MySQL下载地址:http://dev.mysql.com/downloads/
MySQL可视化界面工具:Navicat
Navicat简介:一套快速、可靠并价格便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而开发。
是拥有直观化的图形用户界面,它让用户可以以安全并且简单的方式创建、组织、访问和共享MySQL数据库中的数据。
可以用来对本机或远程的MySQL、SQL Server、SQLite、Oracle及PostgreSQL数据库进行管理及开发。Navicat的功能足以符合专业开发人员的所有需求,而且对数据库服务器的新手来说又相当容易学习。
适用于Microsoft Windows、Mac OS及Linux三种平台,它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具及计划以协助管理数据。
命名格式:
1、mysql.客户端工具(在安装目录下的bin目录中,myql.exe,最好将bin目录路径加入到环境境变量path中)中的命令通常由SQL语句组成,随后跟着一个分号。有一些例外不需要分号。
2、在windows下命令不分大小写,命令可跨行,以分号结束。输入\c表示取消前面输出的未执行的命令行。
命名规范:
1、库名、表名、字段名必须使用小写字母,如需分隔,则采用下划线“_”分割。
2、库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。
3、库名、表名、字段名禁止使用MySQL保留字。当库名、表名、字段名等属性含有保留字时,必须用反引号(`)引用属性名称,这将使得SQL语句书写、SHELL脚本中变量的转义等变得非常复杂。
注:建议表字符集使用UTF8,必要时可申请使用UTF8MB4字符集。
利用MySQL客户端访问数据库:
使用SQL语句使用数据库
mysql> create database kuming character set character_name;
kuming:表示要创建数据库的名字。
character_name:表示设置数据库的字符集,以防乱码出现。库中如有中文最好使用gbk字符集。
注:MySQL中两个数据库不允许相同名字,每天SQL语句都以(;)结束。
查询MySQL数据库中所有数据库信息:
mysql> show databases;
选择数据库并操作使用USE语句:
mysql> USE shujuku;
修改数据库的参数使用,ALTER DATABASE命令
mysql> alter database kuming character set character_name;
kuming:要修改的数据库名
character_name:修改的字符集名
mysql> DROP DATABASE MZ; Query OK, 0 rows affected (0.03 sec)
MZ:数据库名字
注:英文半角 ; 语句结束标记按Enter键执行MySQL命令或SQL语句,
退出:输入quit或exit或者直接关闭
跳出:当命令遇到问题执行不了,又无法跳出,按CTRL+C。
设计关系数据库有两个阶段:
一:实体-联系模型(ER图)
二:将ER模型转化为二维表结构(关系数据模型)
表的定义:表是包含数据库中所有数据的数据库对象。
列名(字段名)
列名是用来访问表中具体域的标识符,列名必须遵循下列规则:
(1)列名是可以含有从1到128的ASCII码字符,它的组成包括字母、下划线、符号以及数字。使用小写英文单词,如果有多个单词使用下划线隔开。
(2)不要给列名命名为与SQL关键字相同的名字。
(3)列名应该反映数据的属性。
(4)表的主键一般都约定成为id,自增类型。
(5)text字段尽量少用。
(6)所有字段,均为非空,最好显示指定默认值。
数据类型
(1)数值类型
整数数据类型 小数数据类型 浮点数据类型
(2)字符串类型
(Char是固定长度Char可能会浪费一些存储空间)
(Varchar是可变长度,按实际长度存储,节省空间)
(3)日期时间类型
(年份用year,存储日期和时间用DateTime)
(4)enum类型和set类型
(字符串形式出现Enum取单值,Set可取多值)
(5)text类型和blob类型
长度
给列定义的大小部分指的是该列能接受多少个字符。
mysql> create table bm_name -> ( -> bzlm datatype [约束条件], -> bzlm2 datatype [约束条件], -> 等 -> [表级别约束条件] -> );
bm_name:数据表名字
bzlm:数据表中列名
datatype:表中列的数据类型
例:
代码如下:
查看数据表:
mysql> show tables;
查看数据表结构:
mysql> desc 表名称;
修改数据表:
修改字段属性语法格式:
1. 向表中添加一个字段:
mysql> alter table <表名> -> add <新字段><数据类型>《约束条件》{first|after《已存在字段名前或后》};
注:默认新添加的字段放在最后一列。
2. 修改字段名:
mysql> alter table <表名> -> change <原字段名> <新字段名> 《数据类型》[约束条件] -> [first|after<已存在字段名>];
3. 修改表名称
mysql> alter table <表原名> -> rename <新表名>;
4. 删除数据表和表中字段(删除前要做好备份)
mysql> drop table <表名称>;
mysql> alter table <表名> -> drop <字段名>;
注:多种修改用逗号分隔。
1.插入的新记录必须完全遵守数据的完整性约束
2.插入字符型、日期时间型数值,必须在值的前后加入半角单引号,只有数值型数据不需要加单引号。(中英文切换)
3.对于Date类型的数值,插入时,必须使用“YYYY-MM-DD”的格式,并且要用半角单引号引起来
4.若某字段不允许为空,且无默认值约束,则表示向数据表插入一条记录时,必须有写入值,默认插入不成功。若某字段不允许为空,且有默认值约束,则插入记录时自动使用默认值代替。
5.若某字段设置为主键约束,则插入记录时不允许出现重复数值。
mysql> insert into <数据表名> ->(col_list,.......)<可以不写> -> values -> (val_list,.......);
col_llist:表中字段名称 val_list:每个字段值并与之对应
注:插入多条时用逗号间隔。
mysql> update <数据表名> -> set -> col_name=value,... -> where条件语句; (如不说明将对表中修改全部数据) 注:(使用UPDATE语句修改数据时,可能会有多条记录满足WHERE条件。要保证 WHERE子句的正确性,一旦WHERE子句,将会破坏所有改变的数据。)
mysql> delete from <数据表名> -> where 要删除的记录参数; (如果没有where将删除所有记录)
mysql> create table (要复制表) like (table)形式;
mysql> create table (复制表) select...from (table)形式;
mysql> insert into (复制表)select* from table;
mysql> select * from 数据表;