• 01-数据库的基本操作


    本文均为Linux系统的数据库操作


        ----mysql服务器

        sudo service mysql start   ------------------- 启动mysql服务器

        mysqladmin -u root shutdown   ----------------关闭mysql服务器 

        ----查看服务器是否开启

        ps -ef |grep mysql

        如果MySql已经启动,以上命令将输出mysql进程列表

    数据库的操作:

        ------连接数据库

        mysql -u root -p 

        mysql -u root -p密码

        ------退出数据库

        quit / exit / cirl+D

        ------sql语句需要有分号;结尾

        --如果语句没写完,不小心按到enter键,继续输入即可   

     

        select version();------显示数据库版本 

        select now();------显示现在时间

        ------创建数据库

        create database 数据库名;            --默认charset=拉丁

        create database 数据库名  charset=utf8;   --有中文一定用此方法创建

        ------查看所有数据库

        show databases;

        -------删除数据库

        drop database 数据库名;    

        drop database `数据库名;------如果数据库名中含有特殊符号,在数据库名前加`

        ------选择数据库

        use 数据库名;

        ------查看当前使用的数据库

        select database();


    数据表的操作 

        

        show table;---------显示数据库中的所有表

        -------创建数据表

        --auto-increment 表示自动增长

        --not null   表示不能为空

        --primary key 表示主键

        --defualt     默认值

        create table 数据表名字(字段 类型  约束| 字段 类型  约束|)

        create table xxxxx(id int, name varchar(30));

        create table xxxxx(id int primary key not null, name varchar(30));

         --换行格式如下

        create table xxxxx(

          id int primary key not null,

           name varchar(30)

          );

        -------desc 数据表的名字

        ------显示表的状态,包括列名(column name),各个列的类型(Type),各个列的值类型,主外键(Key),默认值,其他

      实例:

        ---创建students表(id,name,age,hight,gender,cls_id )

        create table student(

          id int unsigned not null auto_increment primary key,

          name varchar(30),

          age tinyint unsighed default 0,

          high decimal(5,2),

          gender enum("男","女") defuault "保密",

          cls_id int unsighed

        );

         ------插入某一个数据

        insert into students values(0,"老王",18, 188.88, "男",0);

        -----创建classes表(id,“班级”)

        create table classes(

          id int unsigned not null auto_increment primary key,

          name varchar(30)

          );

        

        --------查看表创建语句

        ------show create table 表名;

      

        ----修改表----添加字段

        ---alter table 表名 add 列名 类型;

        alter table students add birthday;

        ----修改表---修改字段      (不要重命名,修改类型)

        ---alter table 表名 modify 列名 类型及约束;

        alter table classes students modify  birthday data;(原为datatime)

        ----修改表----修改字段   (重命名)

        ----alter table 表名 change 列名 类型及约束;

        ---alter table students change birthday birth data;

        ----修改表---删除字段

        ----alter table 表名 drop 列名;

        alter table students drop high;

        ----删除表

        ----drop table 表名;

        drop table classes;

        --------查看表的内容

        -------select * from 表名;

        select * from classes;


    增删改查(重点)

        ----全列插入

        ----insert into 表名 values(....)

        ----主键字段可以用0 null default 来占位

        ----向classes表中插入 一个班级

        insert into classes values(0,"菜鸟班")

    +------------+-------------+---------+-----------+-------------+-------------+
    |    id |     name |  age |  high   |  gender |     cls_id |
    +------------+-------------+---------+-----------+-------------+-------------+
    | 1            |          老王 |       18 |   188.80 |           男 |               0 |
    +------------+------------+----------+-----------+-------------+-------------+

        ----向students插入一个学生

        insert into students values(0, "小李飞刀", 20,165, "女",123)

        ---在枚举中,1对应第一个元素,2对应第二个元素,3对应第三个,以此类推。

        ----部分插入 

        insert into students (name,gender) values ("小乔",2);

        -----多行插入

        insert into students (name,gender) values ("小乔",2),("大乔",2),("貂蝉",2),("吕布",1);

        ----修改

        update 表名 set 要改的列内容 

        update students set gender=1;     ---- --------gender全部被改

        update students set gender=1 where id=1;-----------只改id=1中的gender

        update students set age=22,gender=2 where id=1;-----id=1的age, gender被改

        

        ----删除

        ----物理删除

        delete from 表名;------整个表名都被删除

        delete from students where name="小李飞刀"

        ---逻辑删除

        ----用一个字段来表示,这条信息是否已经不再使用了

        -----给students表添加一个is_delete字段 bit 类型

        -----  alter table students add is_delete  bit defualt 0;

        -----is_delect=0没删, is_delect=1删了

        update students set is_delete=1 where id =6;    --删了id=6

      

        ---查询基本使用

        ---查询所有列

        ----select * from 表名;

        select * from students;

        ----定条件查询

        select * from students where name ="小李飞刀" ;----查询名为小李飞刀的所有信息

        select * from students where 

        ----查询指定列

        select name,gender from students;

        -----可以使用as 为列或表指定别名

        select 字段 as 别名 ,字段 as 别名 from 表名;

        select name as 姓名,gender as 性别 from students;

        -----字段顺序查询

        select id as 序号,gender as 性别,name as 姓名 from students;

        --去重

        --distinct 字段

        select distinct gender from students;

        

        

  • 相关阅读:
    JAVA核心技术笔记总结--第14章 线程总结
    java核心技术笔记——第 9 章 集合
    Java核心技术笔记——第 8 章 泛型
    2.面向对象三大特征
    1.浅谈面向对象思想
    8.字符串
    7.数组
    6.调试程序
    5.流程控制语句
    4.运算符
  • 原文地址:https://www.cnblogs.com/latecomer/p/10278944.html
Copyright © 2020-2023  润新知