mysql day01

MySQL数据库

安装

mysql5.7的安装

启动mysql服务 net start mysql

停止mysql服务  net stop mysql

本机登录mysql:  mysql -u root -p

远程连接时需要写 -h 如果端口修改过 需要写 -P

数据库三层结构

DBMS(database manage system) 数据库管理系统 管理多个数据库

一个数据库可以创建多个表等数据对象,以保存信息

行 row

lie column

表的一行称为一条记录

在 java程序中,一行记录往往使用对象来表示

SQL语句分类

DDL:数据定义语句【create 表,库】

DML:数据操作语句【增加 insert,修改update,删除delete】

DQL:数据查询语句【selete】

DCL:数据控制语句【管理数据库:例如用户权限grand(授权) revoke(撤销权限)】

指令

创建数据库

查询数据库

注意查看所有数据库是 database后面需要加上s

备份和恢复数据库

备份数据库

mysqldump -p root -p -B zhl_demo02 >d:\\bak.sql

在dos执行

执行后 d盘下就出现了一个 bak.sql 文件 即是该数据库文件

恢复数据库

source d:\\bak.sql 将备份的bak.sql 恢复到数据库中

进入mysql命令行再执行

删除原来的数据库后

命令行登录mysql

然后数据库又回来了

备份数据库中的某些表

mysqldump -u root -p test01 users > d:\\test01.sql

该语句是将test01 数据库中的 表users 备份到 d:\\test01.sql 文件中

然后在需要恢复表的数据库中 粘贴运行该文件中的内容 即可将表恢复

创建表

CREATE TABLE user (
 id INT(11),
 name VARCHAR(255),
 passwd VARCHAR(255),
 birthday DATE
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

列的类型

即mysql的数据类型

整型

tinyint smallint middleint int bigint

有符号

CREATE TABLE t1 (id TINYINT); 定义有符号

INSERT INTO t1 VALUES(123);

SELECT * FROM t1;

无符号

CREATE TABLE t2 (id TINYINT UNSIGNED); 定义无符号

INSERT INTO t2 VALUES(240);

SELECT * FROM t2;

超出范围会报错

bit类型

小数类型

float/double [unsigned]

decimal[(M,D)] [unsigned]  // M表示小数的总位数,D表示小数的总位数

字符串类型

char

固定长度字符串 最大255字符

char(4) 是定长 ,即使插入‘aa’ 也会占用分配的四个字符的空间。

varchar

可变长度字符串 最大65532字节【utf-8 编码最大21844 1—3字节用于记录大小】

text  0-1^16

mediumtext 0-1^24

longtext 0-1^32

如果是固定长度是用char可以提高速度

日期类型

data  年月日

datetime 年月日  时分秒

timestamp 年月日 时分秒

修改表

增添字段

alter table t7 add sex varchar(1) not null default '男' after job_time;

修改字段

alter table t7 modify sex char(1);

删除字段

alter table t7 drop sex; 删除sex字段

修改表名

rename table t7 to tSeven;

修改字符集

alter table tSeven character set utf8; 将字符集修改为utf8

修改列名

alter table tSeven change name user_name varchar(5) not null default ' '

insert 的使用

insert into goods(id,goods_name,price) values(10,'华为手机',2000)

1:插入的数据应与字段的数据类型相同 比如把'abc'添加到int类型会错误

2:数据的长度应该在列规定的范围内

3: 在values中列出的数据位置必须与被加入的列的排列位置相对应

4:字符和日期型数据应包含在单引号中

5:列可以插入空值【前提是该字段允许为空】,insert into table value(null)

6:insert into tab_name values(列名...) values (),(),(); 形式添加多条记录

insert into goods(id,goods_name,price) values(10,'三星手机',2300),(20,'苹果手机',3000);

7:如果是给表中的所有字段添加数据,可以不写前面字段的名称

8:默认值的使用,当不给某个字段值时,如果又默认值就会添加,否则报错

如果某个列 没有指定not null ,那么当添加数据时,没有给定值,则会默认给null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值