Mysql第二章

Mysql第二章

2.1 MySQL 数据库

2.1.1 创建数据库

create [if not exists] 数据库名称;

注意:使用create命令创建了新的数据库以后,该数据不不会自动成为当前数据库

    数据库创建以后可以使用use命令指定到当前数据库,use命令还可以实现从一个数据库到另一个数据库的跳转。

use 数据库名;

2.1.2 修改数据库

    数据库创建以后如果需要修改数据库的参数(不能修改名称),可以使用alter database命令。

alter database test
default character set gb2312
default collate gb2312_chinese_ci;

    如何重命名数据库!

    (1)重命名所有表

CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,
db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;

    (2)可以在图形化客户端进行数据传输

2.1.3 删除数据库

drop database [if  exists] 数据库名称;

2.2 MySQL表

2.2.1 创建表

    1.从新创建

create table [if not exists] 表名称
(
[列定义]
)

例如

create table if not exists xs
(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 char(10) not null,
性别 tinyint(1) not null default 1,
出生日期 date not null,
总学分 tinyint(1) null,
照片 blob null,
备注 text null
);

    用show tables显示当前数据库中的所有表,用describe xs命令显示xs表的结构和属性

    2.复制现成的表

    like只复制已有表的结构及表的字段及字段属性。不复制已有表的记录

    as复制已有表的全部内容包括字段及记录

create table [if not exists] 表名称
like 已有的表名
asselect * from 已有的表名)

2.2.2 修改表

    1.修改表结构

    alter table 用于更改原有表的结构。例如可以增加(删减)列、创建(取消索引)、更改原有列的类型

```bash
alter table 表名
add 列定义 [first | after 列名]
| modify 列定义
| alter 列名 {set default| drop default }
| change 列名 原列名
| drop 列名
| rename to 新列名

    其中:
     - alter子句:修改表中指定列的默认值,或者删除列默认值
     - change子句:修改列的名称
     - drop子句:删除列或约束

    1.更改表名

    更改表名除了上面的办法还可以rename table 老表名 to 新表名

rename table xs to xs1;

2.2.3删除表

    drop table

drop table [if exist] 表名;

2.3 表记录的操作

2.3.1插入记录

    1.插入新纪录

insert [into] 表名
[(列名,...)] values ({expr | default},...)
| set 列名 = {expr | default},..

    其中:
    列名:如果要给全部列插入数据,列名可以忽略

注意:必须给全部列插入数据,如果有的列可以为空值或有默认值可以不插入

    values子句:包含的数值的顺序要和插入列的顺序一致,如果列值为空则必须置为null,否则会出错。

    (1)expr:可以是一个常量、变量、表达式、也可以是空值null,其值的数据类型要与列的数据类型一致
    (2)default为默认值,如果列名和values清单都为空则会创建一行,每一列都设置为默认值。

    一次插入多条记录

insert into 表名 values('ddf','8979'),('fsd','343'),('sf','45')

    2.从已有表中插入新纪录

    可以从一个或多个已有的表记录中向目标表插入多个行

insert [into] 表名 [(列名,....)]
select 语句

注意:select 语句中返回的是一个查询到的结果集。
    例如:

insert into user
select * from user1;

    3.插入图片
可以插入图片的路径或者是直接存储图片本身

'D:\IMAGE\PICTURE.jpg'
load_file('D:\IMAGE\PICTURE.jpg')

2.3.2修改记录

    1.替换旧纪录

    replace语句可以替换旧纪录,使用格式与insert语句相同。

replace [into] 表名
[(列名,...)] values ({expr | default},...)

    2.修改单个表

update 表名
set 列名1 = expr1 [, 列名2 = expr2]
[where 条件]

    若语句中不设置where条件,则更新所有行。where子句:指定的修改记录条件。例如:

    全部修改

update xs
set 总学分 = 总学分+10;

    特定位置修改

update xs
set 学号='081250',备注='辅修计算机'
where 姓名=李华;

    2.修改多个表

 update 表名,表名,...
 set 表名1.列名1=expr1 [表名2.列名2=expr2 ]
 [where 条件]

例如:

user mytest;
update user,user2
set user.password='11111111',user2.password = '22222222'
where user.id = user2.id;

2.3.3删除记录

    delete语句或者truncate table 语句可以删除表中的一行或多行记录。

    1.删除满足条件的行

  delete from 表名 
  [where 条件]

    2.从多个表中删除行

 delete 表名1,表名2....
 from table_references
 [where where_definition]
delete from 表名1,表名2....
using table_references
[where where_definition]

    3.清楚表数据

    使用truncate table 表名命令删除指定表中的所有记录。即清楚表记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值