暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL数据库操作

糟老头修炼记 2020-05-07
252

1.MySQL的安装和操作

MySQL安装无需下载源文件,可以直接用apt-get命令进行安装:

    apt-get update #更新软件源
    apt-get install mysql-server #安装mysql
    复制
      #上述命令会安装以下包:
      apparmor
      mysql-client-5.7
      mysql-common
      mysql-server
      mysql-server-5.7
      mysql-server-core-5.7
      复制

      因此无需再安装mysql-client等。
      安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装


      默认安装完成就启动了mysql。

      启动和关闭mysql服务

        service mysql start
        service mysql stop
        复制

        检查是否安装成功:

          netstat -tap | grep mysql
          复制


          检查之后,如果看到有mysql 的socket处于listen,状态则表示安装成功

          登陆mysql数据库进入mysql shell界面:

             mysql -u root -p
            复制


            输入安装过程中设置的root密码,即可登录mysql:


            2.mysql的操作:

            (1)显示数据库

              mysql> show databases;
              复制


              MySql安装完毕自带一个数据库:mysql。mysql库非常重要,它里面有MySQL的系统信息,用户改密码和新增用户,实际上就是用这个库中的相关表进行操作。


              2)进入mysql数据库并显示该数据库中的表

                # 打开库,对每个库进行操作就要打开此库
                mysql>use mysql;
                # 命令行提示数据库切换到当前数据库
                Database changed
                # 显示该数据库中所有的表 
                mysql> show tables;
                复制


                (3)显示数据表的结构,命令格式:describe表名

                  mysql> describe user;
                  复制


                  (4) 显示表中的记录

                   

                     #显示mysql库中user表中的记录。所有能对MySQL用户操作的用户都在此表中。
                    mysql>select*from user;
                    复制


                    (5)建库

                    CREATEDATABASE 用于创建数据库。

                      SQL语句格式:CREATE DATABASE 库名;
                      复制

                          # 例如:创建一个名字位aaa的库
                        mysql> create database aaa;
                        复制

                        (6) 建表

                        CREATETABLE 语句用于创建数据库中的表。

                          SQL语句格式:
                          CREATE TABLE 表名称
                          (
                          列名称1 数据类型,
                          列名称2 数据类型,
                          列名称3 数据类型,
                          ….
                          );
                          复制


                            1.  #在刚创建的aaa库中建立表person,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
                            2. mysql>use aaa;
                            3. mysql> create table person (id int(3) auto_increment notnull primary key, namevarchar(10),sex varchar(10),date date);
                            4. # 可以用describe命令察看刚建立的表结构
                            5. mysql> describe person;
                            复制



                            (7) 增加记录

                            INSERT INTO 语句用于向表格中插入新的行。

                              SQL语句格式:
                              INSERT INTO 表名称 VALUES (值1, 值2,….);
                              INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….);
                              复制

                                1.  # 例如:向person表中增加几条相关记录
                                2. mysql> insert into person values(null,'Mike','male','2020-01-01');
                                3. mysql> insert into person values(null,'Mary','female','2020-02-01');
                                4. # 因为在创建表时设置了id自增,因此无需插入id字段,用null代替即可
                                5. # 可用select命令来验证结果
                                6. mysql>select*from person;
                                复制

                                 

                                (8) 修改记录

                                Update 语句用于修改表中的数据。

                                  SQL语句格式:
                                  UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
                                  复制

                                    1.  #  例如:将Mike的出生年月改为2020-03-01
                                    2. mysql> update person set csny='2020-03-01'where xm='Mike';
                                    复制


                                    (9) 删除记录

                                    DELETE 语句用于删除表中的行。

                                      SQL语句格式:
                                      DELETE FROM 表名称 WHERE 列名称 = 值;
                                      复制

                                        1.         # 例如:删除Mike的记录。
                                        2. mysql>deletefrom person where xm='Mike';
                                        复制

                                        10) 删库和删表

                                        DROP 语句用于删除表中的行。

                                          SQL语句格式:
                                          drop database 库名;
                                          drop table 表名;
                                          复制

                                            1.  # 例如,删除person表
                                            2. mysql> drop table person;
                                            3. # 例如,删除aaa库
                                            4. mysql> drop database aaa;
                                            复制

                                             

                                            (11) 查看mysql版本

                                            在mysql5.0中命令如下两种方式:

                                              mysql> show variables like 'version';
                                              mysql>select version();
                                              复制

                                              (12)退出mysql服务器

                                                mysql>exit;
                                                复制

                                                或者

                                                  mysql> quit;
                                                  复制

                                                   

                                                  3 MySQL数据库实例操作

                                                  Student学生表

                                                  Name

                                                  English

                                                  Math

                                                  Computer

                                                  zhangsan

                                                  69

                                                  86

                                                  77

                                                  lisi

                                                  55

                                                  100

                                                  88

                                                  创建上述表格的sql语句为:

                                                  登陆MySQL(退出指令为exit;或quit;)(语句后有一个英文分号)

                                                    mysql -u root -p  #mysql数据库root密码为hadoop
                                                    复制

                                                    创建数据库

                                                      create database test;
                                                      复制

                                                      使用数据库

                                                        use test;
                                                        create table student(name varchar(30)notnull,English tinyint unsignednotnull,Math tinyint unsignednotnull,Computer tinyint unsignednotnull);
                                                        复制

                                                        插入两条记录sql语句为:

                                                          insert into student values("zhangsan",69,86,77);
                                                          insert into student values("lisi",55,100,88);
                                                          复制

                                                          设计完后,用select语句输出所有的相关信息:

                                                            select*from student;
                                                            复制

                                                            查询zhangsan的Computer成绩:

                                                              select name ,Computerfrom student where name ="zhangsan";
                                                              复制

                                                              修改lisi的Math成绩,改为95.给出截图:

                                                                update student setMath=95where name="lisi";
                                                                select name ,Mathfrom student where name ="lisi";
                                                                复制

                                                                JAVA编程实现MySQL的操作:

                                                                添加数据:

                                                                Name

                                                                English

                                                                Math

                                                                Computer

                                                                Scofield

                                                                45

                                                                89

                                                                100


                                                                  1.  import java.sql.*;
                                                                  2. public class mysql_test {
                                                                  3.
                                                                  4. /**
                                                                  5. * @param args
                                                                  6. */
                                                                  7. //JDBC DRIVER and DB
                                                                  8. static finalString DRIVER="com.mysql.jdbc.Driver";
                                                                  9. static finalString DB="jdbc:mysql://localhost/test";
                                                                  10. //Databaseauth
                                                                  11. staticfinalString USER="root";
                                                                  12. staticfinalString PASSWD="hadoop";
                                                                  13.
                                                                  14. publicstaticvoid main(String[] args){
                                                                  15. //TODO Auto-generated method stub
                                                                  16. Connection conn=null;
                                                                  17. Statement stmt=null;
                                                                  18. try{
                                                                  19. //加载驱动程序
                                                                  20. Class.forName(DRIVER);
                                                                  21. System.out.println("Connecting to a selecteddatabase...");
                                                                  22. //打开一个连接
                                                                  23. conn=DriverManager.getConnection(DB, USER, PASSWD);
                                                                  24. //执行一个查询
                                                                  25. stmt=conn.createStatement();
                                                                  26. String sql="insertinto student values('scofield',45,89,100)";
                                                                  27. stmt.executeUpdate(sql);
                                                                  28. System.out.println("Inserting records intothe table successfully!");
                                                                  29. }catch(ClassNotFoundException e){
                                                                  30. //TODO Auto-generated catch block
                                                                  31. e.printStackTrace();
                                                                  32. }catch(SQLException e){
                                                                  33. //TODO Auto-generated catch block
                                                                  34. e.printStackTrace();
                                                                  35. }finally
                                                                  36. {
                                                                  37. if(stmt!=null)
                                                                  38. try{
                                                                  39. stmt.close();
                                                                  40. }catch(SQLException e){
                                                                  41. //TODO Auto-generated catch block
                                                                  42. e.printStackTrace();
                                                                  43. }
                                                                  44. if(conn!=null)
                                                                  45. try{
                                                                  46. conn.close();
                                                                  47. }catch(SQLException e){
                                                                  48. //TODO Auto-generated catch block
                                                                  49. e.printStackTrace();
                                                                  50. }
                                                                  51. }
                                                                  52. }
                                                                  53.}
                                                                  复制


                                                                  获取scofield的English成绩信息

                                                                  1

                                                                    .  import java.sql.*;
                                                                    2. public class mysql_query {
                                                                    3.
                                                                    4. /**
                                                                    5. * @param args
                                                                    6. */
                                                                    7. //JDBC DRIVER and DB
                                                                    8. static finalString DRIVER="com.mysql.jdbc.Driver";
                                                                    9. static finalString DB="jdbc:mysql://localhost/test";
                                                                    10.//Database auth
                                                                    11.staticfinalString USER="root";
                                                                    12.staticfinalString PASSWD="hadoop";
                                                                    13.publicstaticvoid main(String[] args){
                                                                    14. //TODO Auto-generated method stub
                                                                    15. Connection conn=null;
                                                                    16. Statement stmt=null;
                                                                    17. ResultSet rs=null;
                                                                    18. try{
                                                                    19. //加载驱动程序
                                                                    20. Class.forName(DRIVER);
                                                                    21. System.out.println("Connecting to a selecteddatabase...");
                                                                    22. //打开一个连接
                                                                    23. conn=DriverManager.getConnection(DB, USER, PASSWD);
                                                                    24. //执行一个查询
                                                                    25. stmt=conn.createStatement();
                                                                    26. String sql="selectname,English from student where name='scofield' ";
                                                                    27. //获得结果集
                                                                    28. rs=stmt.executeQuery(sql);
                                                                    29. System.out.println("name"+"\t\t"+"English");
                                                                    30. while(rs.next())
                                                                    31. {
                                                                    32. System.out.print(rs.getString(1)+"\t\t");
                                                                    33. System.out.println(rs.getInt(2));
                                                                    34. }
                                                                    35. }catch(ClassNotFoundException e){
                                                                    36. //TODO Auto-generated catch block
                                                                    37. e.printStackTrace();
                                                                    38. }catch(SQLException e){
                                                                    39. //TODO Auto-generated catch block
                                                                    40. e.printStackTrace();
                                                                    41. }finally
                                                                    42. {
                                                                    43. if(rs!=null)
                                                                    44. try{
                                                                    45. rs.close();
                                                                    46. }catch(SQLException e1){
                                                                    47. //TODO Auto-generated catch block
                                                                    48. e1.printStackTrace();
                                                                    49. }
                                                                    50. if(stmt!=null)
                                                                    51. try{
                                                                    52. stmt.close();
                                                                    53. }catch(SQLException e){
                                                                    54. //TODO Auto-generated catch block
                                                                    55. e.printStackTrace();
                                                                    56. }
                                                                    57. if(conn!=null)
                                                                    58. try{
                                                                    59. conn.close();
                                                                    60. }catch(SQLException e){
                                                                    61. //TODO Auto-generated catch block
                                                                    62. e.printStackTrace();
                                                                    63. }
                                                                    64. }
                                                                    65.}
                                                                    66.}
                                                                    复制
                                                                    文章转载自糟老头修炼记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                    评论