`
tzq668766
  • 浏览: 82261 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

MySQL学习笔记

阅读更多
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。Sun公司在2009年4月20日被ORACLE公司宣布收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

一、启动与退出
1、进入MySQL:
启动MySQL Command Line Client(MySQL的DOS界面/终端界面),直接输入安装时的密码即可。此时的提示符是:  mysql>
或打开终端,输入SQL语句:
  > mysql –u root –p 
//第一次登陆,没有密码
2、退出MySQL:
quit或exit


二、库操作
1、创建一个数据库 tzq
 
  mysql> CREATE DATABASE tzq;


语法:CREATE  DATABASE  [IF NOT EXISTS] db_name
CREATE DATABASE用于创建数据库,并进行命名。如果要使用CREATE  DATABASE,您需要获得数据库CREATE权限。

2、使用SHOW语句找出在服务器上当前存在什么数据库:
命令:show databases (注意:最后有个s)
mysql> SHOW DATABASES;
       +--------------------------+
       | Database          |
       +--------------------+
       | information_schema |
       | mysql             |
       +-------------------------+
       2 rows in set (0.31 sec)

3、删除数据库
  命令:drop database <数据库名>
  例如:删除名为 tzq的数据库
mysql> drop database tzq;


4、连接数据库
  命令: use <数据库名>
  例如:如果tzq数据库存在,尝试存取它:
   
mysql> use tzq;

       屏幕提示:Database changed

5、查看当前选择(连接)的数据库
 
mysql> select database();


6、当前数据库包含的表信息:
 mysql> show tables; (注意:最后有个s)


7、创建用户并赋予取予权利:
grant all privileges on dbname.* to tzqlab identified by 'tzq123';

给localhost域的用户username管理dbname数据库的所有权利,密码为tzq123。

三、表操作,操作之前应连接某个数据库(use table_name)
1、建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
  
 mysql> create table student(
               id int(6)  primary key auto_increment,
			  name char(20) not null,
			  sex int(4) not null default '0',
			  degree double(8,2));
        mysql> create table t_test(
               id int(10)  primary key auto_increment,
			  name char(20) );
        mysql> insert into t_test values(1,'zhangsan');


常用的数据类型:
  A:数字类型:
       int(integer)   大整数值
       float        单精度浮点数
       double (real)  双精度浮点数
B:字符串类型:
    char 定长字符串
    varchar 变长字符串
Text / Blob  长度超过255的字符串
C:日期类型
   Date
   Time
       Year
主要的6个:
1).INT[(M)] 型: 正常大小整数类型
2).DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型
3).DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4) DATETIME 时间类型:支持的范围:1000-01-01 00:00:00到9999-12-31 23:59:59
5).CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
6).BLOB TEXT类型,最大长度为65535(2^16-1)个字符。
7).VARCHAR型:变长字符串类型
在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。

2、获取表结构
     命令: desc 表名,或者show columns from 表名
     
  mysql> desc test;
        mysql> show columns from test;  //等价于desc

3、删除表
  命令:drop table <表名>
  例如:删除表名为 test 的表
mysql> drop table MyClass;

4、插入数据
  命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

      例如,往表 student中插入二条记录, 这二条记录表示:
      编号为1的名为Tom的成绩为96.45,
      编号为2 的名为Joan 的成绩为82.99,
      编号为3 的名为Wang 的成绩为96.5.
mysql> insert into student values(1,'Tom',0,96.45);
           insert into student values(2,'Joan',0,82.99);
           insert into student values(3,'Wang', 1,96.59);

5、查询表中的数据
1)、查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 student中所有数据
mysql> select * from student;

2)、查询前几行数据
例如:查看表 student 中前2行数据,从哪一行开始,取几行。
 mysql> select * from student order by id limit 0,2;

6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 student中编号为1 的记录
mysql> delete from student where id=1;

7、修改表中数据:
update 表名 set 字段=新值,… where 条件 3
mysql> update student set name='Mary' where id=1;

8、在表中增加字段:
  命令:alter table 表名 add字段 类型 其他;
  例如:在表student中添加了一个字段passtest,类型为int(4),默认值为0
 
mysql> alter table student add passtest int(4) default '0'

9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表student名字更改为stu
mysql> rename table student to stu;

更新字段内容:
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,'旧内容','新内容');
文章前面加入4个空格
update article set content=concat(' ',content);


   10. 修改密码:
1) 格式:(前提-进入目录mysqlbin)mysqladmin -u用户名 -p旧密码 password 新密码
如果开始时root没有密码,-p旧密码一项就可以省略。
2)
Mysql>mysql -u root  
 Mysql>update mysql.user set password=password('newPassword') where user='root';
     Mysql>flush privileges;


Mysql忘记密码后的办法

[windows]
1、停止mysql服务:打开命令行窗口CMD,Net stop mysql
2、用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用mysqld-nt.exe启动:
mysqld-nt --skip-grant-tables
   注意:此时CMD窗口不能关闭。
3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit

4、使用任务管理器,找到mysqld-nt的进程,结束进程!
5、重新启动mysql服务,net start mysql 就可以用新密码登录了。

[linux]
1、关闭Mysql: 如果 MySQL 正在运行,首先杀之 killall -TERM mysqld
2、另外的方法启动 MySQL :bin/mysqld_safe --skip-grant-tables &
3、可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;

   注意点同上
4、kill结束 MySQL ,用正常方法启动 MySQL 。

四、JDBC连接Mysql编程的步骤

  • ① 注册一个driver
  • 注册驱动程序有三种方式:
  • 方式一:  class.forName(“com.mysql.jdbc.Driver”);
  •     Java规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动注册到驱动程序管理器中。
  • 方式二: Driver drv = new oracle.jdbc.dirver.OracleDriver();   //针对没有隐式注册时采用
  •          DriverManager.registerDriver(drv);
  • 方式三:编译时在虚拟机中加载驱动
  • sql –Djdbc.dirvers=驱动全名 类名
  • 例: java –Djdbc.drivers=oracle.jdbc.driver.OracleDriver Lab1
  •      使用系统属性名,加载驱动; -D表示为系统属性赋值。
  • 附:Oracle的Driver的全名 oracle.jdbc.driver.OracleDriver         
  •       SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver
  • ② 建立连接
  • conn=DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:tzq”, 
  • ” User”,” Pasword”);
  • Connection连接是通过DriverManager的静态方法getConnection(....)来得到的,这个方法的实质是把参数传到实际的Driver中的connect()方法中来获得数据库连接的。
  • Oracle URL的格式:
  • jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP地址及端口号):XXXXXXX(所使用的库名)
  • MySql URL的写法        例: jdbc:mysql://127.0.0.1:3306/test
  • SQLServer URL的写法    例:jdbc:microsoft:sqlserver://127.0.0.1:1433
  • ③ 获得一个Statement对象      stm = conn.createStatement();    
  • ④ 通过Statement执行SQL语句    
  •     stm.excuteQuery(Sring sql);     //返回一个查询结果集
  •     stm.excuteUpdate(String sql);    //返回值为int型,表示影响记录的条数。
  •     Stm.excute(String sql);         //返回true,表示查询;返回false,表示其它操作。
  • 将java语句通过连接发送到数据库中执行,以实现对数据库的操作。
  • ⑤ 处理结果集
  • ⑥ 关闭数据库连接(释放资源)  调用.close()
分享到:
评论

相关推荐

    数据库 MySQL 学习笔记高级篇.md

    数据库 MySQL 学习笔记高级篇.md

    MySQL学习笔记.zip

    这份“MySQL学习笔记”将引导我们深入理解其核心概念和实用技能。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,后被Oracle公司收购。它的设计目标是速度、可移植性和简洁性,支持...

    mysql学习笔记.rar

    这份"mysql学习笔记.rar"包含的资源旨在帮助初学者和有经验的开发者深入理解和掌握MySQL的相关知识。 首先,"mysql学习笔记.doc"很可能是核心的学习资料,它可能包含了MySQL的基础概念、安装与配置、SQL语言基础、...

    mysql学习笔记

    这份“mysql学习笔记”涵盖了MySQL的基础知识,包括但不限于数据库的概念、SQL语言的使用、以及更深入的多表操作。 在“day08入门笔记”中,你可能会学到以下内容: 1. **数据库基本概念**:了解什么是数据库,...

    Mysql学习笔记1

    ### MySQL学习笔记1:深入理解内连接与外连接 #### 一、引言 在数据库管理与查询过程中,连接操作是十分常见且重要的一个环节。MySQL作为一种广泛使用的开源关系型数据库管理系统,在处理复杂的多表查询时,提供了...

    MySQL学习笔记.chm

    MySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chm

    mysql学习笔记(一).txt

    mysql入门学习笔记整理,如何创建数据库、查看数据库,删除数据库,创建表和对表字段类型操作、约束、mysql数据类型整理

    MySQL学习笔记(含基础、运维、进阶三部分)

    MySQL学习笔记(含基础、运维、进阶三部分) MySQL学习笔记(含基础、运维、进阶三部分) MySQL学习笔记(含基础、运维、进阶三部分) 包含了我学习 MySQL 过程中的笔记和资源,从入门到进阶的内容都有涉及。通过...

    MySQL学习笔记666

    mysql学习笔记

    MySQL学习笔记.pdf

    MySQL学习笔记.pdf MySQL学习笔记主要涵盖了 MySQL 服务器的基本操作、数据库管理、数据表的创建和管理、数据的crud 操作、约束的添加和删除等内容。 一、登录和退出 MySQL 服务器 在 MySQL 学习笔记中,首先...

    Mysql学习笔记.pdf

    MySQL 是一款广泛使用的开源关系型数据库管理系统,其学习笔记涵盖了多个关键知识点。以下是对这些知识点的详细解释: 1. **MySQL 体系架构** - **网络连接层**:处理客户端的连接请求,包括连接管理、认证和安全...

    MySql学习笔记

    在MySQL学习过程中,了解和掌握基本的命令是非常重要的。以下是一些关键知识点的详细解释: 1. **显示数据库**: 使用`SHOW DATABASES;`命令可以列出当前MySQL服务器上存在的所有数据库。 2. **创建数据库**: `...

    MySQL学习笔记-JSP操作MySQL

    从给定的文件信息来看,本文档主要围绕“MySQL学习笔记—JSP操作MySQL”的主题展开,详细介绍了如何在JSP环境下操作MySQL数据库的过程。以下是对该文档中的关键知识点进行的深入解析: ### 一、MySQL与JSP的集成 ...

    一千行 MySQL 学习笔记.pdf

    ### MySQL学习笔记知识点详解 #### 一、MySQL服务管理 **1. 启动MySQL服务** 在Windows环境中,可以通过以下命令启动MySQL服务: ```sql net start mysql ``` **2. 创建Windows服务** 若要手动创建一个...

    非常详细的某培训机构mysql学习笔记

    非常详细的某培训机构mysql学习笔记,内容系统全面,实用性强 MySQL1 MySQL基础 MySQ单实例部署 MySQL多实例部署 MySQL数据库操作 MySQL数据类型 MySQL存储引擎 MySQL表操作 MySQL2 MySQL数据操作 MySQL单...

    高性能mysql学习笔记

    ### 高性能MySQL学习笔记:查询性能优化与实践 #### 一、查询性能低下的原因与分析步骤 查询性能低下通常归因于访问了过多的数据。优化查询性能的关键在于识别并减少不必要的数据访问。具体可以通过以下两个步骤...

    MySQL学习笔记-基础到进阶

    内容概要:MySQL学习笔记,内容包括SQL基本语法、MySQL基础知识,包括存储引擎、索引、视图、锁、优化、存储结构等MySQL主要的内容。 适用人群:适合自学MySQL的同学使用。 能学到什么:MySQL从基础到进阶的全部内容...

Global site tag (gtag.js) - Google Analytics