Mysql操作命令

1、数据库

        数据库:保存数据的容器

        DB(database):数据库,存储数据的“仓库”,它保存了一系列有组织的数据。

        DBMS(Database Management System):数据库管理系统。数据库是通过DBMS创建和操作的容器。

        SQL(Structure Query Language):专门用来与数据库通信的语言。

2、MySQL下载

        Mysql的官网:MySQL

        Mysql的文档:MySQL :: MySQL Documentation

        Mysql的下载地址:MySQL :: MySQL Downloads

3、命令行的方式

        1.打开cmd,以管理员身份运行

        2.在命令行中输入net stop mysql57,表示停止服务

4、MySQL中常用的命令

登录进mysql客户端里面

--1. 查看数据库的版本
select version();

--2. 显示数据库
show databases;

--3. 显示数据库中的表
show tables;
show tables from 库名;

--4. 使用/切换数据库
use 库名;

--5. 显示当前正在使用的库
select database();

--6. 创建一个库
create database test;

--7. 创建一张表
create table 表名(
字段名1 字段类型1,
字段名2 字段类型2,
字段名3 字段类型3,
...
字段名n 字段类型n
);
create table student(id int, name varchar(25));

--8. 查看表的结构
desc 表名;
desc student;

--9. 查看表中数据
select * from 表名;
select * from student;

--10. 向表中插入数据
insert into 表名(字段1,字段2,...,字段n)values(数据值1,数据值2,...,数据值n);
insert into student(id,name)values(1,'zhangsan');
insert into student(id,name)values(2,'lisi');

--11. 修改数据
update 表名 set 字段名=数据值[where 字段名=数据值]
update student set name='sunwukong' where id = 2;

--12. 删除数据
delete from 表名 [where 字段名=数据值]
delete from student where id = 2;

5、SQL的概述

5.1 什么是SQL?

Structured Query Language:结构化查询语言

其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。

5.2 SQL通用语法

1. SQL 语句可以单行或多行书写,以分号结尾(建议关键字换行)。

2. 可使用空格和缩进来增强语句的可读性。

3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

4. 多种注释

* 单行注释: -- 注释内容 或 # 注释内容(mysql 特有)

* 多行注释: /* 注释 */

5.3 SQL分类

1) DDL(Data Definition Language)数据定义语言

用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等

2) DML(Data Manipulation Language)数据操作语言

用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等

3) DQL(Data Query Language)数据查询语言

用来查询数据库中表的记录(数据)。关键字:select, where 等

4) DCL(Data Control Language)数据控制语言(了解)

用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等

6、DDL操作数据库和表

6.1 数据库的DDL

6.1.1创建库(C)

--1. 创建数据库:
    create database 数据库名称;

--2. 创建数据库,判断不存在,再创建:
    create database if not exists 数据库名称;(增强代码的健壮性)

--3. 创建数据库,并指定字符集
    create database 数据库名称 character set 字符集名;

--4. 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk
    create database if not exists db4 character set gbk;

6.1.2 查询库(R)

--R(Retrieve):查询
    --1. 查询所有数据库的名称:
    show databases;

    --2. 查询某个数据库的字符集:查询某个数据库的创建语句
    show create database 数据库名称;

6.1.3 修改库(U)

--U(Update):修改(不能修改数据库名)
    --修改数据库的字符集
    alter database 数据库名称 character set 字符集名称;

6.1.4 删除库(D)

--D(Delete):删除
    --删除数据库
    drop database 数据库名称;
    
    --判断数据库存在,存在再删除
    drop database if exists 数据库名称;

6.2 MySQL的数据类型

MySQL

JAVA

长度

例子

TINYINT

byte

1byte有符号整数

2

SMALINT

short

2byte有符号整数

20

INT

int

4byte有符号整数

20

BIGINT

long

8byte有符号整数

20

boolean

布尔类型,true或者false

TRUE  FALSE

FLOAT

float

单精度浮点数

3.14159

DOUBLE

double

双精度浮点数

3.14159

VARCHAR

string

字符系列。可以指定字符集。可以使用单引号或者双引号。

‘now is the time’

“for all good men”

TIMESTAMP

时间类型

BINARY

字节数组

1.可以将mysql与java中类比,但是mysql中的数据类型有一些区别

2.浮点型系列:float,double

        double(M,D):表示最长为M位,其中小数点后D位

        例如:double(5,2)表示的数据范围[-999.99,999.99],如果超过这个范围会报错。

3定点型系列:decimal

        decimal(M,D):表示最长为M位,其中小数点后D位

4.字符串类型:char,varchar(M),text

        char如果没有指定宽度,默认为1个字符

        varchar(M),必须指定宽度

5.日期时间类型:year, date, datetime, timestamp 类似于Java里的java.sql.Date类

6.3 表的DDL

6.3.1 创建表(C)

--C(Create):创建
		   --语法:
			create table 表名(
				列名1 数据类型1,
				列名2 数据类型2,
				....
				列名n 数据类型n
			);
			--注意:最后一列,不需要加逗号(,)
			--数据类型:
				a. int:整数类型
					 age int,
				b. double:小数类型
					 score double(7,2)
				c. date:日期,只包含年月日,yyyy-MM-dd
				d. datetime:日期,包含年月日时分秒	 yyyy-MM-dd HH:mm:ss
				e. timestamp:时间戳 类型	包含年月日时分秒	 yyyy-MM-dd HH:mm:ss	
					 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值

				f. varchar:字符串
					 name varchar(20):姓名最大20个字符
					 zhangsan 8个字符  张三 2个字符
            --创建表
		   create table student(
               id int,
               name varchar(25),
               age int,
               gender char,
               birthday date,
               insert_time timestamp
           );
            --复制表:
			 create table 表名 like 被复制的表名;
            -- 增强代码的健壮性  
           create table if not exists student(
               id int,
               name varchar(25),
               age int,
               gender char,
               birthday date,
               insert_time timestamp
            )
insert into student (id,name,age,gender,birthday)values(1,'nihao',18,'男','2020-01-01');

6.3.2 查询表(R)

--R(Retrieve):查询
    --查询某个数据库中所有的表名称
        show tables;
    --查询表结构
        desc 表名;
    --查看表的字符集
        show create table 表名;

6.3.3 修改表(U)

--U(Update):修改
		--1. 修改表名
			alter table 表名 rename to 新的表名;
		--2. 修改表的字符集
			alter table 表名 character set 字符集名称;
		--4. 添加一列
			alter table 表名 add 列名 数据类型;
		--5. 修改列名称 类型
			alter table 表名 change 列名 新列名 新数据类型;  -- 修改列名和数据类型
			alter table 表名 modify 列名 新数据类型;   -- 只修改数据类型
		--6. 删除列
			alter table 表名 drop 列名;

6.3.4 删除表(D)

--D(Delete):删除
    drop table 表名;
    drop table  if exists 表名 ;

7、DML增删改表中数据

7.1 添加数据

--语法:
		insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
	--注意:
		1. 列名和值要一一对应。
		2. 如果表名后,不定义列名,则默认给所有列添加值
			insert into 表名 values(值1,值2,...值n);
		3. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
		    insert into salary values(3,'楚总',2000000000),(4,'黄总',2000000000);
    --定义列名        
        insert into salary(name,salary) values('潘总',2000000000);

7.2 删除数据

--语法:
    delete from 表名 [where 条件]
--注意:
--如果不加条件,则删除表中所有记录。
--如果要删除所有记录
    delete from 表名; -- 不推荐使用。有多少条记录就会执行多少次删除操作
    truncate table 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。

7.3 修改数据

--语法:
    update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];
    --注意:
        --*如果不加任何条件,则会将表中所有记录全部修改。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值