• Mysql 基本用法


    Java中两种常用的数据库: MYSQL     Oracle

    MYSQL  :开源免费的数据库,小型的数据库。由瑞典MySQL AB 公司开发,适合中小企业使用,由C语言和C++编写的。已经被Oracle收购了MySQL6.x版本也开始收费。

    Oracle   :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL

    MYSQL启动:

    1.  登入mysql:

     格式1cmd>  mysql –u用户名 –p密码

    例如:mysql -uroot –proot

    格式2cmd>  mysql --host=ip地址 --user=用户名 --password=密码

    例如:mysql --host=127.0.0.1 --user=root --password=root

    SQL通用语法

    1.      SQL语句可以单行或多行书写,以分号结尾

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

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

    4.      例如:SELECT * FROM user

    5.      同样可以使用/**/的方式完成注释

    6.      MySQL中的我们常使用的数据类型如下

    数据库操作:database

    创建数据库* create database 数据库名;

    #创建数据库数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8

    CREATE DATABASE webdb_1;

    查看数据库

    show databases;

    查看某个数据库的定义的信息:

    show create database 数据库名;

    show create database webdb_1;

    删除数据库

    drop database 数据库名称;

    drop database webdb_2;

    切换数据库:

    use 数据库名;

    数据表操作:table

     

    create table 表名(

       字段名类型(长度) [约束],

       字段名类型(长度) [约束],

       ...

    );

    类型:

       varchar(n)字符串

       int        整形

       double     浮点

       date       时间

       timestamp  时间戳

    删除表格式:drop table 表名;

    例如:drop table category;

    修改表结构

    /*

      修改表添加列:alter table 表名 add 列名类型[长度] [约束];

    */

    ALTER TABLE category ADD NAME INT;

    /*

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

      alter table 表名 modify 列名类型[长度] [约束];

      注意: 如果有数据,必须注意数据类型varchar-->int 容易有错误数据

    */

    ALTER TABLE category MODIFY description INT;

    ALTER TABLE category MODIFY description VARCHAR(20) NOT NULL;

    /*

      修改列名以及数据类型和约束:

      alter table 表名 change 原列名新列名类型[长度] [约束];

    */

    ALTER TABLE category CHANGE description descr INT;

    插入表数据

    往数据库表中插入数据:使用关键字 insert [into]

    格式:

           包含主键:insert into 表名(字段1,字段2,...) values(1,2,...);

           主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键);

    -- 包含主键:insert into 表名(字段1,字段2,...) values(1,2,...);

    INSERT INTO category (cid,cname) VALUES(1,"服装");

    -- 主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键);

    INSERT INTO category (cname) VALUES("彩电");

    批量插入数据

    格式:

    包含主键:insert into 表名(字段1,字段2,...) values(1,2,...),(1,2,...),(1,2,...)...

    主键自增,省略主键:insert into 表名(不包含主键) values(不包含主键),(1,2,...),(1,2,...)...;

    更新表数据,使用关键字 update(更新,修改) set(设置)

    格式:

    不带条件过滤,一次修改列中所有的数据       

    update 表名 set 字段名=字段值,字段名=字段值,...;

    带条件过滤,使用关键字where

    update 表名 set 字段名=字段值,字段名=字段值,... where 过滤条件;

    删除表数据使用关键字 delete(删除) from(来自)

      格式:

    delete from 表名 [where 条件过滤];

    delete from 表名删除表中的所有数据,但是不会删除主键自增

    truncate table 表名;删除表中的所有数据,会删除主键自增,让主键自增重置重1开始

    主键约束使用关键字 primary key

    非空约束使用关键字 not null

    -- 创建唯一约束的第一种格式,创建表时,在字段后直接给出

    -- 添加的第一种方式,在列名之后直接添加

    CREATE TABLE persons(

      Id_P  INT  PRIMARY KEY,

      LastName VARCHAR(255)  UNIQUE,

      City VARCHAR(255)  NOT  NULL

    );

    -- 删除主键

    -- ALTER TABLE Persons DROP PRIMARY KEY

    -- 删除非空约束

    ALTER TABLE persons MODIFY city VARCHAR(255);

    删除唯一约束 ALTER TABLE Persons DROP INDEX 名称

     定义约束的时候,如果没有创建名称,则名称为字符串

    ALTER  TABLE  persons  DROP  INDEX  LastName;

    MySQL数据库密码重置(扩展)

    a.      停止mysql服务器运行输入services.msc 停止mysql服务

    b.      cmd,输入mysqld   --console  --skip-grant-tables 启动服务器,出现一下页面,不要关闭该窗口

    c.       新打开cmd,输入mysql -uroot  不需要密码

           use mysql;

    update user set password=password('abc') WHERE User='root';

    d.      关闭两个cmd窗口

     

     

  • 相关阅读:
    迭代器、可迭代对象、生成器
    提问的智慧
    爬虫【自动登陆github和抽屉】
    爬虫【爬取汽车之家新闻】
    Python多线程-守护线程
    Python的多线程
    一个简单的Python多线程
    Python实现SSH传输文件(sftp)
    Python实现SSH连接远程服务器
    实验吧CTF题库-WEB题(部分)
  • 原文地址:https://www.cnblogs.com/outsidersblogs/p/6986531.html
Copyright © 2020-2023  润新知