添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、常用数据类型

类型

说明

int

整形(定义整数类型数据)

float

单精度浮点。4字节32位。准确到小数点后六位

double

双精度浮点。8字节64位

char

固定长度的字符类型,定义字符类数据,不足的空格补齐

varchar

可变长度的字符类型,

text

文本

image

图片

decimal(5,2)

5个有效长度数字,小数点后面有2位,指定长度数组

Mysql数据库(二)——mysql数据库管理_表名

Mysql数据库(二)——mysql数据库管理_数据_02

decimal (5,2),当输入的数值后的小数位小于两位时,会拿0补全两位;当超过两位时,小数点后第三位是自动进行的四舍五入进第二位

Mysql数据库(二)——mysql数据库管理_数据_03

使用建议

1、在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大,尤其是大数据量测试条件下。​

2、不需要把数据表设计的太过复杂,功能模块上区分或许对于后期的维护更为方便,慎重出现大杂烩数据表

3、数据表和字段的起名字也是一门学问

4、设计数据表结构之前请先想象一下是你的房间,或许结果会更加合理、高效

5、数据库的最后设计结果一定是效率和可扩展性的折中,偏向任何一方都是欠妥的


二、查看数据库结构

1、进入数据库

mysql -uroot -p123456​

-u 连接数据库的用户名

-p 后面跟的是连接数据库的密码(不能有空格)

Mysql数据库(二)——mysql数据库管理_数据_04

2,MySQL的常见命令

查看当前所有的数据库 show databases;

打开指定的库             use 库名;

查看当前库的所有表       show tables;

查看其它库的所有表       show tables from 库名;

创建表create table 表名(列名 列类型,列名 列类型,。。。);

查看表结构               desc 表名;

查看服务器的版本

方式一:登录到mysql服务端         select version();

方式二:没有登录到mysql服务端     mysql --version或mysql --V​

Mysql数据库(二)——mysql数据库管理_表名_05

Mysql数据库(二)——mysql数据库管理_表名_06

Mysql数据库(二)——mysql数据库管理_数据_07

Mysql数据库(二)——mysql数据库管理_表名_08

Mysql数据库(二)——mysql数据库管理_数据库_09 Mysql数据库(二)——mysql数据库管理_数据_10

3,MySQL的语法规范

1.不区分大小写,但建议关键字大写,表名、列名小写

2.每条命令最好用分号结尾

3.每条命令根据需要,可以进行缩进 或换行

4.注释

单行注释:#注释文字

单行注释:-- 注释文字

多行注释:/* 注释文字 */


二、Sql语句

SQL语言分类:

DDL:数据定义语言,用于创建数据库对象,如库、表、索引等 create、drop、alter

DML:数据操纵语言,用于对表中的数据进行管理  insert 、update、delete

DQL:数据查询语言,用于从数据表中查找符合条件的数据记录  select

DCL:数据控制语言,用于设置或者更改数据库用户或角色权限  commit、rollback


数据库增删查改

创建数据库:语法:create database 数据库 [character 字符集 collate 校对规则]

查看数据库:

查看所有数据库:show databases;

查看某个数据库:show create database 数据库名;

修改数据库:语法:alter database 数据库名 character 字符集 collate 校对规则

删除数据库:语法:drop database 数据库名;

切换数据库:use 数据库名;

查看当前使用数据库:select database();


1、DDL语言

数据定义语言,用于创建数据库对象,如库、表、索引等 create、drop、alter

①库的管理

创建库     create database 库名;

删除库     drop database 库名;

②表的管理

CREATETABLE_表名(字段1 数据类型,字段2数据类型[,...] [,PRIMARY KEY(主键名)]);

主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

CREATE DATABASE school;

创建school数据库

USE school;

进入school数据库

CREATE TABLE ky17 (id int NOT NULL, name char(10) NOT NULL, score decimal(5,2),DEFAULT"",KEY( id));

创建ky17表,字段id 数据类型int不允许为空。字段name 数据类型char(10)固定长度为10位 不允许为空,字段score 数据类型decimal总共长度为5,小数点后2位,默认值为空,主键为id.

DESC ky17;

查看ky17表的数据类型

NOT NULL不允许为空值

DEFAULT’’默认值为空

PRIMARY KEY:主键一般选择没有重复并且不为空值的字段

③修改表

alter

语法:alter table 表名 ADD|MODIFY|DROP|CHANGE COLUMN 原字段名 新字段名【字段类型】;

①修改字段名

ALTER TABLE 表名 CHANGE  COLUMN 原字段 新字段 数据类型;

#②修改表名

ALTER TABLE 原表名 RENAME [TO]  新表名;

#③修改字段类型和列级约束

ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型 ;

#④添加字段

ALTER TABLE 表名 ADD COLUMN 新字段 VARCHAR(20) first;  first作为第一列

#⑤删除字段

ALTER TABLE 表名 DROP COLUMN 字段;


④删除表,库

删除指定的数据表

use数据库名

DROP TABLE school.表名  或者或者truncate table table_name;

DROP TABLE「数据库名.]表名;

#如不用USE进入库中,则需加上数据库名删除指定的数据库

Mysql数据库(二)——mysql数据库管理_数据_11

Mysql数据库(二)——mysql数据库管理_数据库_12

​2 、DML语言

数据操纵语言,用于对表中的数据进行管理

insert:插入新数据

update:更新原有数据

delete:删除不需要的数据​

Mysql数据库(二)——mysql数据库管理_数据_13

示例:

INSERT INTO ky11 (id, name , score , passwd) values(1, ' zhangsan',70 .5 ,PASSWORD('123456'));

PASSWORD('123456'):查询数据记录时,密码字串以加密形式显示:若不使用PASSWORD(),查询时以明文显示。密码复杂性验证

IN S ERT I NTO ky11 VALUES(2," lisi',90.5,654321) ;

SELECT *FROM ky 11 :

查询表的数据记录

Mysql数据库(二)——mysql数据库管理_数据_14

清空表,删除表内的所有数据

方法一

delete from 表名;

用DELETE清空表后,返回的结果内有删除的记录条目;

DELETE工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM删除所有记录后,再次新添加的记录会从原来最大的记录ID后面维续自增写入记录。

delete from 表名  不会删除表的结构


方法二:

truncate table 表名;

TRUNCATE清空表后,没有返回被删除的条日:TRUNCATE工作时是将表结构按原样重新建立,因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATETABLE清空表内数据后,

id会从1开始重新记录


小结:

手删除类型

drop table table_name1

属于DDL

不可回滚(无法恢复)

不可带where

花内容和结构删除

删除速度快


atruncate table table__name1

属于DDL

不可回滚

不可带where

表内容删除

PS: truncate操作过程是:先保留要删除的表的表结构,然后副除表,再重建这张表的表结构所以,例如lauto_increaent自增长的这种属性,会从头开始重新记录

刑除速度快


delete from table__name

属于DML

可回滚《可恢复》

可带where

表结构在,表内容要看where执行的情况《(执行更为麻烦)

删除速度慢,需要逐行删除


不再需要一张表的时候,用drop

想除部分数据行时候,用delete,并且带上where子句

保留表而删除所有数据的时候用truncate

速度

drop> truncate > delete

安全性delete最好

Mysql数据库(二)——mysql数据库管理_数据_15

2,DQL语言查询数据记录——select

Mysql数据库(二)——mysql数据库管理_表名_16

总结:

1、常用类型:int、char、varchar、decimal

2、常用操作

①、DDL负责数据结构定义与数据库对象定义

Mysql数据库(二)——mysql数据库管理_数据库_17Mysql数据库(二)——mysql数据库管理_表名_18

3、注意事项

修改数据库需谨慎

对数据库和表进行创建和删除时,需仔细确认当前的数据库位置,学会使用 [数据库名.]数据表

修改数据库时,使用 where 条件时,需要反复确认是否条件选择结果有重复项

学会使用 limit 来进行一些相关操作

知道什么试唯一键和主键

唯一键:唯一,但可以为空(空值只能出现一次)

主键:唯一,但不可为空值

主键包含唯一键的部分属性

唯一键不能完全作为主键