1MySQL基础.docx

上传人:b****8 文档编号:11357520 上传时间:2023-02-28 格式:DOCX 页数:12 大小:57.77KB
下载 相关 举报
1MySQL基础.docx_第1页
第1页 / 共12页
1MySQL基础.docx_第2页
第2页 / 共12页
1MySQL基础.docx_第3页
第3页 / 共12页
1MySQL基础.docx_第4页
第4页 / 共12页
1MySQL基础.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

1MySQL基础.docx

《1MySQL基础.docx》由会员分享,可在线阅读,更多相关《1MySQL基础.docx(12页珍藏版)》请在冰豆网上搜索。

1MySQL基础.docx

1MySQL基础

1.基础知识

1)数据库

储存在计算机内,有组织的可共享的大量数据的集合。

2)数据库管理系统

DBMS

位于用户和操作系统之间的一层数据库管理软件。

我们通常所说的“数据库”指的是数据库管理软件。

它可以科学的组织和存储数据,高效的获取和维护数据。

3)目前主流的DBMS

微软access,SQLServer

瑞典MySQLABMySQL

IBM公司DB2

SyBase公司SyBase

Oracle公司oracle

4)开发人员学习内容

A,为一些小型项目设计合适的表

B,SQL语句

C,JDBC

5)mysql下载地址

6)mysql安装

7)基本mysql命令

A,启动和停止mysql服务

netstopmysql

netstartmysql

B,修改编码

默认是latin1编码,不支持中文

找到mysql的配置文件my.ini

[mysql]

default-character-set=latin1->utf8

[mysqld]

#datadir="C:

/ProgramData/MySQL/MySQLServer5.5/Data/"

datadir="D:

/mysql_data/"

character-set-server=latin1->utf8

 

C,登录本机的mysql服务器

mysql-h主机IP-u用户名-p密码

D,断开与服务器的连接

exit\q

E,查看数据库

showdatabases;

F,使用某个数据库

use数据库名;

G,查看表结构(查看表有哪些字段)

desc表名;

8)mysql支持的存储引擎

MyISAM:

不支持事务

InnoDB:

对事务有良好的支持,现在的版本默认都使用这种存储方式。

2.结构化的查询语言SQL

SQL是操作和检索关系型数据库的标准语言。

SQL结构简洁,功能强大,IBM公司1981年推出。

SQL根据功能分成四部分:

A,DDL

数据定义语言

用于定义和管理数据库对象。

一般以create,alter,drop指令开头。

(一个特殊的DDL命令:

truncate)

B,DML

数据操作语言

用于操作数据库对象中的数据。

一般以insert,update,delete指令开头。

C,DQL

数据查询语言

用于查询数据库对象中的数据。

可以单表查询,表连接查询,集合查询等。

一般以select指令开头。

D,TCL

事务控制语言

事务控制:

commit,rollback

权限控制:

grant,revoke

3.语法规范

A,SQL语句的关键字不区分大小写。

B,SQL中也会用到标识符(库名,表名,列名,变量名等),标识符命名规则:

1)必须以字母开头

2)可以包括字母,数字和#_$三个特殊符号

3)不能使用关键字。

建议使用多个单词连缀,中间用_隔开

4.DDL语句

数据库对象

table

数据的逻辑单元。

以行列的方式存在,列是字段,行是记录

数据字典

系统表。

存储与数据库有关的信息,由数据库系统自动维护,不应该手动修改。

一般仅用于查看。

约束

constranit

用于保证数据完整性的规则

索引

index

用于提高查询性能的一种手段

视图

view

一个或多个表中数据的逻辑显示

函数

function

用于完成特定功能的一段代码,有一个返回结果

存储过程

procedure

用于完成特定功能的一段代码,没有返回值,但是可以有输出参数

触发器

trigger

当特定事件发生时自动触发的一段代码

用户

user

可以操作数据库的一个用户

 

5.数据库创建与删除

createdatabase库名;

dropdatabase库名;

6.使用数据库

use库名;

7.表相关的DDL

1)创建表

createtable表名

列名列类型[default值],

列名列类型[default值],

……

列名列类型[default值]

)[表类型][表字符集];

创建表时创建的是表的结构,即表有多少列,列的类型是什么,默认值是什么。

2)mysql支持的数据类型

A,数值型

整型

TINYINT1字节

SAMLLINT2字节

INT4字节

浮点型

FLOAT4字节

DOUBLE8字节

DECIMAL

B,字符型

CHAR(M)定长

VARCHAR(M)可变长的

TEXT长文本

C,日期型

DATE日期

TIME时间

DATETIME日期时间

TIMESTAMP时间戳

YEAR年

3)修改表

A,增加新列

ALTERTABLE表名ADD列定义;

B,删除列

ALTERTABLE表名DROP列名;

C,修改列类型

ALTERTABLE表名MODIFY列名新类型;

D,修改列名

ALTERTABLE表名CHANGE旧列名新列名新类型(旧类型);

E,修改表名

ALTERTABLE旧表名RENAMETO新表名;

4)删除表

DROPTABLE表名;

5)约束

数据完整性:

实体完整性(行方向的完整性)主键约束

域完整性(列方向的完整性)非空,唯一,检查约束

参照完整性(多表之间)外键约束

用户自定义的完整性检查约束

约束本身也是数据库对象,也可以拥有名字。

A,非空约束(只能用于列)

NOTNULL

所有数据类型的值都可以为NULL.

✓添加非空约束

在建表时在列定义之后加入NOTNULL

通过修改表的方式后期添加

✓删除非空约束

B,唯一约束(用于列或列组合上)

UNIQUE

✓添加唯一约束

在建表时在列定义之后加入UNIQUE

CREATETABLEstu_course(course_idINT,course_nameVARCHAR(80)UNIQUE);

如果没有指定约束名,系统默认约束名和列名一样。

在建表时也可以指定约束名

通过修改表的方式后期添加

ALTERTABLEstu_infoADDCONSTRAINTstu_name_ukUNIQUE(stu_name);

✓查看约束详情

SELECT*FROMinformation_schema.TABLE_CONSTRAINTSWHEREtable_schema='student';

✓查看表详情

SELECT*FROMinformation_schema.`TABLES`WHEREtable_schema='student

✓删除唯一约束

MYSQL中删除唯一性约束是用删除索引的方式

ALTERTABLEstu_courseDROPINDEXcourse_name_uk;

C,主键约束

PRIMARYKEY

默认为唯一且不空

一个表只能建立一个主键,但唯一性约束可以有多个

mysql中不管是否有主键约束名,mysql总是把它命名为PRIMARY

(其他数据库此名有效)

✓添加主键约束

建表时创建

后期创建

ALTERTABLEstu_infoADDPRIMARYKEY(stu_no);

✓删除主键约束

ALTERTABLEstu_infoDROPPRIMARYKEY;

大多数数据库都支持主键自增,MYSQL使用auto_increment作为自增标识。

C,CHECK约束

mysql中不支持,所以不用学。

8.DML

主要操作的是表中的数据。

1)INSERTINTO

可以省略列名称,但是值要按照顺序。

INSERTINTOemployeeVALUES(NULL,'E00011','吴宗保','J001',NULL,20000,NULL,10);

推荐用不省略列名的方式

INSERTINTOemployee(emp_no,emp_name,emp_comm,emp_salary,job_no,dept_no)VALUES('E00033','',2000,10000,'J013',10);

VALUES('E00033','田明珠',2000,10000,'J013',10);

批量录入数据

INSERTINTOemployee(emp_no,emp_name,emp_salary)SELECTe_no,e_name,e_salFROMold_employee;

2)UPDATE

一次可以修改多条记录。

通过WHERE子句限定条件。

WHERE相当于if语句。

符合条件的记录会被修改。

没有加WHERE相当于全表修改。

UPDATEemployeeSETemp_name='贾鹏'WHEREemp_id=4;UPDATEemployeeSETemp_name='贾鹏鹏',manager_no='E00011'WHEREemp_id=4;UPDATEemployeeSETdept_no=10WHEREemp_id>=3;UPDATEemployeeSETemp_comm=emp_comm+500;UPDATEemployeeSETemp_salary=emp_salary*1.1WHEREdept_no=20;

3)删除

DELETEFROM

没有WHERE子句是全表删除。

MYSQL没有提供可恢复的机制。

CREATETABLEemployee_bakSELECT*FROMemployee;SELECT*FROMemployee_bak;DELETEFROMemployee_bak;

TRUNCATETABLE表名;

清空表(数据)效率更高。

属于DDL。

功能等同于DELETE不加WHERE条件。

TRUNCATETABLEemployee_bak;

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1