03.13 MYSQL 数据库

SQL(structured query language):是用于访问和处理数据库的标准计算机语言。


mysql服务器,后台运行,需要连接客户端,黑窗口自带,不是可视化界面,和dos一样,所以用sqlyog,可视化。sqlyog是客户端。

数据库有一个,客户端可以有多个连接。

数据库存储空间大,可以共享,检索速度快,做一些计算,很安全,处理并发状况。任何项目,都要需要数据库。


数据库种类:

oracle    是第一,速度快,安全高    数据库免费,服务收费

mysql  免费,开源,轻巧,安全,都是关系型数据库:sql,可以创建很多表格,表格之间有关系    

sqlserver(微软)  

 db2(IBM,大公司用);  

nosql数据库:mangodb

黑客攻击数据库,病毒找txt可植型文件。

数据库:DB(database)   

数据库系统:DBS (database  system)    

数据库管理系统:DBMS(database  manager system) 

数据库包含两种文件:数据文件和日志文件。最终存储在文件中。


计算机-->管理-->服务和应用程序

cmd窗口就是dos窗口。

net start mysql; 启动mysql数据库,后天默认启动 

mysql -h127.0.0.1 -uroot -p5322688连接数据库


mysql窗口:

查看数据库:show databases;      ----不区分大小写----

切换数据库 :use  数据库名

创建数据库:create database 数据库名;

删除数据库:DROP DATABASE 数据库名;   ------------结束必须加分号----------


创建表格:CREATE TABLE 表名

查看表格:show  tables

删除表格:DROP TABLE 表名

查看表格内容: select * from  表名

查看数据库表格结构:desc 数据库表名

set character_set_client=gbk(utf8);修改变量



结构化查询语言:

DML  数据操作语言:用来操作数据库所包含的数据      insert插入   update修改   delete删除

DDL   数据定义语言:用于创建删除数据库对象等操作        create创建    drop删除   alter修改

DQL   数据查询语言:用来对数据库中的数据进行查询   SELECT查询   

DCL   数据控制语言:用来控制数据库组件的存储许可,存储权限等。 grant授权   commit提交  rollback回滚


在数据库中存在冗余,就是重复,所以出现外键(外键引用主键的数据)、主键不允许重复,不能为空,对数据类型没有要求。

----减少数据冗余会对查找数据增加复杂性,降低效率,所以允许数据库存在冗余。

数据库分为系统数据库和用户数据库。

主建:主表

外建 :从表


运算符:

/相除   %取余    <>和!=不等于

逻辑运算:

and:当且仅当布尔值为true返回true

or:当且仅当布尔值为false返回false

not:取反


sqlyog:

一字节八位,最大数255


timestamp可以自动获取时间

单行注释:#   多行注释:/**/

行:记录

列:字段

保留字用撇号括起来``1旁边


字段属性:

UNSIGNED属性:表示为无符号

ZEROFILL属性:宽度不足用0填充


字段约束:

NOT NULL非空

DEFAULT 默认

UNIQUE KEY 唯一

AUTO_INCREMENT 自动增长

FOREIGN KEY 外建

PRIMARY KEY 主建


字符串类型:

CHAR[(M)]   定长字符串

VACHAR[(m)] 可变字符串  不定长

TINYTEXT   微型文本串

TEXT   文本串



数据类型:

TINYINT:非常小的数据库

SMALLLINT:较小的数据库

MEDIUMINT:中等大小的数据

INT:标准整数

BIGINT:较大的整数

FLOAT:单精度浮点数

DOUBLE:双精度浮点数

DECIMAL:字符串形式的浮点数

DATATIME:年月格式


例子:学生表

CREATE TABLE student1(#学生表
studentNo INT(4) PRIMARY KEY NOT NULL,
loginPwd VARCHAR(20) NOT NULL,
studentName VARCHAR(50) NOT NULL,
sex CHAR(2) NOT NULL DEFAULT '男',
gradeID INT(4) UNSIGNED,
phone VARCHAR(50),
address VARCHAR(255) DEFAULT '地址不详',
bornDate DATETIME,
email VARCHAR(50),
identityCard VARCHAR(18) UNIQUE KEY

);

DROP TABLE student1;

作业:科目表   成绩表





猜你喜欢

转载自blog.csdn.net/gaoshiqi5322688/article/details/79558683