MySQL

管理MySQL的命令:

  • 查看所有数据库
    SHOW DATABASES:
  • 显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库:
    SHOW TABLES;
  • 显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息
    SHOW COLUMNS FROM 数据表;
  • 创建数据库
    CREATE DATABASE 数据库名;
  • 删除数据库
    drop database 数据库名;
  • 选择数据库
    use 数据库名;
  • 创建数据表
    CREATE TABLE table_name (column_name column_type);
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
实例解析:

    如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
    AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
    PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
    ENGINE 设置存储引擎,CHARSET 设置编码
  • 删除数据表
    DROP TABLE table_name ;
  • 插入数据
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
  • 查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

select * from runoob_tbl;
select runoob_title from runoob_tbl;
select runoob_id,runoob_title from runoob_tbl;
  • WHERE 子句
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

SELECT * from runoob_tbl WHERE runoob_author='菜鸟教程';

图片.png
  • UPDATE 更新 ,修改或更新 MySQL 中的数据
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
实例
UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;
  • DELETE 语句,删除 MySQL 数据表中的记录。
DELETE FROM table_name [WHERE Clause]
实例
DELETE FROM runoob_tbl WHERE runoob_id=3;
Query OK, 1 row affected (0.23 sec)
  • LIKE 子句
    我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
    WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。但是有时候我们需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
实例
SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
  • 复制表
INSERT INTO clone_tbl (runoob_id,
                       runoob_title,
                       runoob_author,
                       submission_date)
SELECT runoob_id,runoob_title,
               runoob_author,submission_date
FROM runoob_tbl;
``
#数据类型
##数值类型
![图片.png](https://upload-images.jianshu.io/upload_images/7426696-e6eadc2255730327.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##日期和时间类型
![图片.png](https://upload-images.jianshu.io/upload_images/7426696-7aea32c374e546bb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##字符串类型
![图片.png](https://upload-images.jianshu.io/upload_images/7426696-a5c34a456b796842.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
MySQL 5.0 以上的版本:
1、一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
2、varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别
3、MySQL 检查长度,可用 SQL 语言来查看

#解决访问同网段IP的数据库错误

https://blog.csdn.net/OldTogether/article/details/79612627

问题:
同一个项目,在windows下访问本地的mysql正常运行,在同一网段的计算机上面报下面异常,java.sql.SQLException:null, message from server: "Host '192.168.0.131' is not allowed to connect.
解决方法:
use mysql;
show tables;
select host from user;
update user set host ='%' where user ='root';
重启mysql服务
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,055评论 0 19
  • 一、数据库简介 1.数据库系统 1.1数据库 DataBase【DB】,指的是长期保存到计算机上的数据,按照一定顺...
    郑元吉阅读 612评论 0 6
  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 4,758评论 0 30
  • 1. 了解SQL 1.1 数据库基础 ​ 学习到目前这个阶段,我们就需要以某种方式与数据库打交道。在深入学习MyS...
    锋享前端阅读 1,129评论 0 1
  • MySQL 简介 MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracl...
    Xyaleo阅读 326评论 0 1