peace唠叨

Mysql入门实战上

前面讲解了Mysql的安装以及连接工具。本文是Mysql入门实战的上,主要讲解mysql服务的启动与停止,数据库管理,表管理以及数据的增删改;

源码下载地址

1.Mysql服务的启动,停止

一般只要你安装好了,每次启动电脑时mysql服务都是自动启动的。当然mysql也有他自己的启动停止等命令;

1.1windows下Mysql的启动与停止:

在 Windows 命令提示符下运行:
启动: net start MySQL
停止: net stop MySQL
重启: net restart MySQL

1.2Linux下Mysql的启动与停止:

  1. 启动:

使用 service 启动:service mysql start
使用 mysqld 脚本启动:/etc/inint.d/mysql start
使用 safe_mysqld 启动:safe_mysql&

  1. 停止:

使用 service 启动:service mysql stop

使用 mysqld 脚本启动:/etc/inint.d/mysql stop
mysqladmin shutdown

  1. 重启:

使用 service 启动:service mysql restart
使用 mysqld 脚本启动:/etc/inint.d/mysql restart

2.数据库管理:

2.1登陆到mysql:

当 MySQL 服务已经运行时, 我们可以通过MySQL客户端工具登录到MySQL数据库中:

命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14

mysql -h 主机名 -u 用户名 -p

-h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略;

-u : 所要登录的用户名;

-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

如登陆本地的:

peace@peace-rong:~$ mysql -u root -p
Enter password: #键入你安装时用的密码
Welcome to the MySQL monitor. Commands end with ; or \g.

登陆后就可以使用mysql的sql命令了

1
2
3
4
5
6
7
8


SQL语句的分类:
DDL: 数据定义语言:
create / drop / alter
DML:数据操作语句:
insert / delete /update / truncate
DQL: 数据查询语言:select / show

注意:MySQL语句以分号(;)作为语句的结束, 若在语句结尾不添加分号时, 命令提示符会以 -> 提示你继续输入(有个别特例, 但加分号是一定不会错的);

2.2查询所有数据库:

命令:show databases;注意分号结尾

1
2
3
4
5
6
7
8
9
10
11
12
13

mysql> show databases;
+--------------------+

| Database |
+--------------------+

| information_schema |-- mysql元数据,基础数据
| day01 |--这是我自己建立的数据库
| mysql |--mysql配置数据库,其中包含用户信息。(用户名和密码,权限管理)
| performance_schema |--mysql数据库软件的运行数据,日志信息,性能数据

| test | --测试数据库。空的
+--------------------+

5 rows in set (0.00 sec)
mysql>

2.3创建数据库:

要使用数据库你得先创建自己的数据库:

  1. 语法格式:

    create database 数据库名 [其他选项];
    

其中其他选项可选;

  1. 实践:

创建一个数据库day01并且指定默认字符级为utf-8;注意在sql中需要写成utf8

1
2
3
4

create database day01 default character set utf8;
##创建成功返回结果如下:
Query OK, 1 row affected (0.00 sec)

你可以查看刚刚创建的数据库的默认字符集:

1
2
3
4
5
6

show create database day01;

##输出:

'day01', 'CREATE DATABASE `day01` /*!40100 DEFAULT CHARACTER SET utf8 */'

2.4 删除数据库:

这条语句勿乱用!!!!!!!

  1. 语法格式:

    drop database  数据库名;
    
  2. 实践:

删除刚刚创建的数据库;

1
2
3

mysql> drop database day01;
Query OK, 0 rows affected (0.01 sec)

2.5修改数据库:

  1. 语法格式:

    alter database 数据库名 default character set gbk;
    
  1. 实践:

修改刚刚创建的数据库的默认字符;

1
2
3

mysql> alter database day01 default character set gbk;
Query OK, 1 row affected (0.00 sec)

2.6使用数据库

要对一个数据库进行操作, 必须先选择该数据库, 否则会提示错误:
ERROR 1046(3D000): No database selected
两种方式对数据库进行使用的选择:

  1. 在登录数据库时指定, 命令: mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p
    例如登录时选择刚刚创建的数据库: mysql -D day01 -u root -p;
  2. 在登录后使用 use 语句指定, 命令: use 数据库名;
    use 语句可以不加分号, 执行 use samp_db 来选择刚刚创建的数据库, 选择成功后会提示: Database changed

3.表管理:

有了数据库你就可以对数据库进行操作了,比如创建和修改表,添加数据等;下面的演示都以day01来表现;

use day01;--使用day01

3.1查看所有表:

  1. 语法格式:

    show tables;
    
  2. 演示如下:因为我们还没有创建表所以是空表

1
2
3

mysql> show tables;
Empty set (0.00 sec)

3.2创建表

有了数据库必须有表才能存储你所需要的数据;

  1. 表能存储的字符类型如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

1.数字类型

整数: tinyint、smallint、mediumint、int、bigint

浮点数: floatdouble、real、decimal

2.日期和时间: date、time、datetime、timestamp、year

3.字符串类型

字符串: char、varchar

文本: tinytext、text、mediumtext、longtext

4.二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob
  1. 语法格式
1
2
3
4
5
6
7
8

##简单格式

create table 表名称(列声明);**注意**列声明由逗号隔开最后一个列声明没有逗号。

##带条件创建,判断是否存在表:不存在则创建:

create table if not exists 表名称(列声明);
  1. 实践:

以创建 students 表为例, 表中将存放 学号(sid)、姓名(sname)、分数(smark)、年龄(sage)、 这些内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19


-- create table

create table student(

sid INT,-- 学号整型

sname varchar(20),-- 名字字符型

smark int,-- 分数整型

sage int-- 年龄

);


##输出:

Query OK, 0 rows affected (0.01 sec)

  1. 查看刚刚创建的表结构:
1
2
3
4
5
6
7
8
9
10


desc student;
+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+

| sid | int(11) | YES | | NULL | |
| sname | varchar(20) | YES | | NULL | |
| smark | int(11) | YES | | NULL | |
| sage | int(11) | YES | | NULL | |

3.3删除表

这条语句勿乱用!!!!!!!

  1. 语法格式:

    drop table  表名;
    
  2. 实践:

删除刚刚创建表;

1
2
3

mysql> drop table student;
Query OK, 0 rows affected (0.01 sec)

3.4修改表:

修改用alter命令语句;

  1. 添加字段:
1
2
3
4
5


-- 添加字段sgender varchar(2);性别

alter table student add column sgender varchar(2);

  1. 删除字段:
1
2
3
4
5
6
7


-- 删除字段,先添加sbb字段,然后再删除

alter table student add column sbb varchar(2);

alter table student drop column sbb;

  1. 修改字段类型:
1
2
3
4
5


-- 修改字段数据类型。修改字段 smark int到 smark varchar(2);

alter table student modify column smark varchar(2);

  1. 修改字段名称:
1
2
3
4
5


-- 修改字段名称,将smark修改为mark

alter table student change column smark mark int;

  1. 修改表名称:
1
2
3
4

-- 修改表名称,将student表名修改为teacher

alter table student rename to teacher;

4.增删改数据

毫无疑问查询语句是sql中用的最多的语句,但是没有增删改,查询的存在也无意义。这部分只要讲解:insert,update,delete语句的使用;

4.1插入数据:insert

insert语句也是常用语句,用来向表插入一行数据。

  1. 语法格式:
1
2
3
4
5
6
7
8

##插入:全部字段必须给值

INSERT INTO 表名 VALUES(值);-- 此去必须给全值

##插入部分字段:

INSERT INTO 表名(字段1,字段2) VALUES(字段1的值,字段2的值)

  1. 实践:

向student插入数据:

1
2
3
4
5
6
7
8
9


-- 1.增加数据

INSERT INTO student VALUES(001,'peace',1,22,'男');-- 注意不能少或多字段值

-- 插入部分字段

INSERT INTO student(sid,sname) VALUES(002,'rong');

4.2删除数据:delete

delete语句要慎用!!!

  1. 语法格式:

    delete fromwhere 条件(可选)
    
  2. 演示如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9

    -- 删除所有数据(建议少用)--

    -- delete from student;


    -- 带条件的删除--

    delete from student where sid=003;
  3. delete和truncate table比较

1
2
3
4
5
6

-- delete from: 可以全表删除 1)可以带条件删除 2)只能删除表的数据,不能删除表的约束 3)使用delete from删除的数据可以回滚(事务)

-- truncate table: 可以全表删除 1)不能带条件删除 2)即可以删除表的数据,也可以删除表的约束 3)使用truncate table删除的数据不能回滚

-- TRUNCATE TABLE student;

4.3修改数据:update

这个可以用来修改指定行的内容,比如qq修改名字等

  1. 语法格式:

    update 表名 set 字段名=修改后的值 where 条件(可选);
    
  2. 演示如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13


    -- 修改所有数据,建议少用--

    UPDATE student set mark=10;

    -- 带条件的修改(建议使用)--

    update student set mark=2 where sid=2;

    -- 修改多个字段,SET 字段名=值,字段名=值,....--

    update student set mark=1,sage=23 where sid=1;

好的本章介绍到这里

来自一条小鲨鱼wpeace(rlovep.com)

Peace wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!