小白学习MYSQL的操作

网址这个博客是我的学习网址。

密码的修改和遗忘处理方法

修改密码这个我上一篇中也提到,这个博主也是建议用这种方法修改,比较稳。这里附上我上一篇博客的网址添加链接描述
密码遗忘的话暂时不关注。

查看数据库文件存放的物理位置

博客中写道一些语言分类,数据定义,控制,操纵啥的

数据的 CURD 操作

关键字
增(Create)
删除(DELETE)
改(ALTER)
查(Retrieve)
SHOW databases;(显示数据库有哪些)
SHOW CREATE database db1;(查看当前创建的数据库 db1)

好了,差不多看完了,啥也不会啥也不懂,搜B站视频,基本都是30+小时的视频?? 基于我们只是学一下简单操作,我看了看菜鸟教程菜鸟教程
感觉还行,从MYSQL创建数据库开始看。
还是菜鸟教程比较友好,给出例子,终于看懂了,感动哭 -

创建

mysql> create DATABASE RUNOOB;
这行代码就是创建一个数据库,记得分号,我没输入分号没有用。。还回不来,百度了一下,输入exit;弹出来,记得分号!MYSQL命令都得用分号结尾

删除操作

mysql> drop database 数据库名
数据库选择

**root@host]# mysql -u root -p
Enter password:
mysql> use 数据库名;
Database changed
mysql>**

选择你创建的数据库就好了。

数值类型

这个菜鸟教程中给了一个很详细的表,大家可以自己看。值得注意的是,数据如果有符号,比如说负号,数据范围会小一半。

创建数据表

语法

**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 设置编码。

看起来略复杂,其实定心一看,红色部分为表名,后面的是上面讲的数据类型

还有第二种方法创建表

**root@host# mysql -u root -p
Enter password:
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
   -> runoob_id INT NOT NULL 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;
Query OK, 0 rows affected (0.16 sec)
mysql>**

注意:MySQL命令终止符为分号 ; 。
注意: -> 是换行符标识,不要复制。

可以看出这个方法看起略为容易接受。

删除数据表

语法
DROP TABLE table_name ;

在命令提示窗口中删除数据表

在mysql>命令提示窗口中删除数据表SQL语句为 DROP TABLE :
实例

以下实例删除了数据表runoob_tbl:

**root@host# mysql -u root -p
Enter password:
mysql> use RUNOOB;
Database changed
mysql> DROP TABLE runoob_tbl
Query OK, 0 rows affected (0.8 sec)
mysql>**

插入数据表

语法

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

**INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );**
                   如果数据是字符型,必须使用单引号或者双引号,如:"value"

实例

root@host# mysql -u root -p password;
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> INSERT INTO runoob_tbl 
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("学习 PHP", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("学习 MySQL", "菜鸟教程", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO runoob_tbl
    -> (runoob_title, runoob_author, submission_date)
    -> VALUES
    -> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');
Query OK, 1 rows affected (0.00 sec)
mysql>

注意: 使用箭头标记 -> 不是 SQL 语句的一部分,它仅仅表示一个新行,如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写 SQL 语句,SQL 语句的命令结束符为分号 ;。
在以上实例中,我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间。

接下来我们可以通过以下语句查看数据表数据:

select * from runoob_tbl;

查询数据

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]

导入表时我差点崩溃,网上查了一大堆方法弄了好久,最后我把sql文件改成中文名就好了。。。我吐了
其他的基本操作菜鸟教程中基本都有,我还不太熟悉,用的时候查一查,勉强能过过日子。

你可能感兴趣的:(SQL学习)