前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql数据库1

Mysql数据库1

原创
作者头像
待你如初见
修改2022-08-30 17:56:16
8380
修改2022-08-30 17:56:16
举报
文章被收录于专栏:待你如初见待你如初见

数据库

SQL概述

SQL语句分类数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

使用SQL语句时的注意事项:SQL语句不区分大小写, 建议关键字大写,其他小写. 我们今天写数据类型的时候要注意, Java中的String类型, 对应的是数据库中的 varchar(长度). 值的个数必须和列的个数对应. 值的类型和列的类型也必须对应. 如果是数字类型可以直接写, 其他类型用''括起来. SQL语句的结束标记是: 分号; 进行删除和修改操作之前, 一定一定一定要备份.

SQL语句操纵数据库(CURD) //create update read delete

代码语言:txt
复制
增
    创建数据库:create database 数据库名;
删
    删除数据库:drop database 数据库名;
改
    修改数据库:alter database 数据库名 character set '字符编码';
               alter database 数据库名 charset '字符编码';
查 
    查询所有数据库
        show database;
    查询指定数据库的字符集
        show create database 数据库名;
    使用数据库(切换库)
        use 数据库名

SQL语句操作数据库表

代码语言:txt
复制
增
    创建表
    create tables 数据表名(
        列名 数据类型 [约束],
        列名 数据类型 [约束],
        列名 数据类型 [约束]
    );  
数据类型:
    Java中的数据类型             MySQL中的数据类型
    byte/short/int/long         tinyint/smallint/int/long
    float/double                float/double
    char/String                 char/varchar(长度)
    Date                        Date/Time/DateTime/StampDate
                                DateTime: 可以自定义时间.
                                StampDate: 时间戳, 采用当前系统的默认时间.
    File                        BLOB/TEXT(CLOB)

约束
    作用: 用来保证数据的完整性和安全性.
    分类:
    单表约束:
        主键约束: primary key   //auto_increment(自动增长)
        唯一约束: unique
        非空约束: not null
    多表约束:
        外键约束: foreign key
创建表:
        create table users(
        uid int primary key auto_increment,
                uname varchar(20),
                pw varchar(20)
            );
删
    删除表:drop table 数据表名;
改:
    给表增加一列字段
        alter table 表名 add 列名 数据类型 约束;
    修改某列字段的约束和类型
        alter table 表名 modify 列名 数据类型 约束;
    修改某列字段的名字,约束,类型
        alter table 表名 change 旧列名 新列名 数据类型 约束;
    删除指定的列
        alter table 表名 drop 列名;
    修改表名
        rename table 旧表名 to 新表名;
    修改表的码表
        alter table 表名 character set 指定的码表;
        alter table 表名 charset 指定的码表;

查:
    查询所有的数据表: show tables;
    查询指定数据表(表结构):desc 数据表名;

SQL语句操作数据表中的数据

代码语言:txt
复制
增:
    添加一条数据:
        insert into 数据表名(列名1,列名2,列名3) values(值1,值2,值3);
    批量添加: //添加多条数据
        insert into 数据表名(列名1,列名2,列名3) values(值1,值2,值3),(值1,值2,值3),(值1,值2,值3);
通过"DOS命令窗口"往MySQL中添加中文, 然后查看的时候发现会出现乱码情况
    因为控制台默认码表是: GBK, MySQL的服务器端和客户端的默认码表都是: UTF8, 所以会出现乱码.
解决方案:
    方式一:  临时性的把 MySQL的客户端的码表设置为: gbk //set names 'gbk';
    方式二:  永久性设置, 在my.ini配置文件中, 将client的码表改为: GBK.
删:
    delete from 数据表名 where 条件;
改:
    update 数据表名 set 列名1=值,列名2=值,列名3=值 where 条件;
    备份数据:
        备份表不存在:
            create table 备份表名 select * from 要备份的表名;
        备份表已经存在:
            insert into 备份表名 select * from 要备份的表名;
查:
    最基本的查询:
        select * from 数据表名;
        select 列名1,列名2,列名3 from 数据表名;

一个完整的SQL查询语句的格式

代码语言:txt
复制
select 列名1,列名2,列名3 from 数据表名 where 分组前的条件筛选 group by 要分组的列
having 分组后的条件筛选 order by 排序的列 [asc/desc];

修改表添加列

代码语言:txt
复制
 alert table 列名
 add 字段名 类型(长度) [约束]

修改表修改列的类型长度及约束

代码语言:txt
复制
alert table 列名
modify 列名 类型(长度) [约束]

修改表修改列名

代码语言:txt
复制
alter table 表名 change 旧列名 新列名 类型(长度) 约束;

修改表删除列

代码语言:txt
复制
alter table 表名 drop 列名

修改表名

代码语言:txt
复制
rename table 表名 to 新表名

修改表的字符集

代码语言:txt
复制
alter table 表名 character set '字符集'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库
    • SQL概述
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档