MySQL篇,第一章:数据库知识1

2023-06-14,,

MySQL 数据库 1

一、MySQL概述
1、什么是数据库
       数据库是一个存储数据的仓库

2、哪些公司在用数据库
       金融机构、购物网站、游戏网站、论坛网站... ...

3、提供数据库服务的软件
1、软件分类:
        MySQL、SQL_Server、Oracle、DB2、Mariadb、MongoDB ..
2、在生产环境中,如何选择使用哪个数据库软件
1、是否开源
1、开源软件
MySQL、Mariadb、MongoDB
2、商业软件
Oracle、DB2、SQL_Server
2、是否跨平台
      1、不跨平台 :SQL_Server
      2、跨平台
MySQL、Oracle、DB2、Mariadb、MongoDB
3、公司类型
1、商业软件:政府部门、金融机构
2、开源软件:游戏网站、购物网站、论坛网站...

4、MySQL特点
1、关系型数据库
       1、关系型数据库特点
             1、数据是以行和列的形式存储的
             2、这一系列的行和列成为表
             3、表中的每一行叫一条记录
             4、表中的每一列叫一个字段
             5、表和表之间的逻辑关联叫关系
             6、关系型数据库的核心内容是 关系 即 二维表
2、示例
     1、关系型数据库存储
表1、学生信息表
姓名 年龄 班级
张三丰 25 AID1712
金花婆婆 26 AID1711

表2、班级信息表
班级 班主任
AID1712 侯大大
AID1711 孙大大
2、非关系型数据库存储
{姓名:"张三丰",年龄:25,班级:"1712",班主任:"侯"}
{姓名:"张三丰",年龄:25,班级:"1712",班主任:"侯"}
2、跨平台
可以在Unix、Linux、Windows上运行MySQL服务
3、支持多种编程语言
Python、java、php、... ...

二、MySQL安装
1、Ubuntu安装MySQL服务
  1、安装服务端
  sudo apt-get install mysql-server
  2、安装客户端
  sudo apt-get install mysql-client
2、Windows安装MySQL服务
  1、下载MySQL安装包(Windows)
    mysql-install-**5.7**.msi
  2、双击、按照教程安装即可;

三、启动和连接Mysql服务
1、服务端启动
  1、查看Mysql服务的状态
    sudo /etc/init.d/mysql status
  2、启动Mysql服务
    sudo /etc/init.d/mysql start
  3、停止Mysql服务
    sudo /etc/init.d/mysql stop
  4、重启Mysql服务
    sudo /etc/init.d/mysql restart
2、客户端连接
  1、命令格式
    mysql -h主机名 -u用户名 -p密码
    mysql -hlocalhost -uroot -p123456
  2、本地连接可以省略 -h 选项
    mysql -uroot -p123456
  3、断开与服务器的连接
    exit | quit | \q

3,远程连接

  (1)进入数据库,进行数据库设置;

  >use mysql;

  >select  host,user  from user;

+-----------+------+
| host | user |
+-----------+------+
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+

 > update user set host='%' where user='root' AND host='localhost'; 

  > select host,user from user;
+-------------+------+
| host | user |
+-------------+------+
| % | root |
| 127.0.0.1 | root |
| 192.168.1.% | rep |
| ::1 | root |
+-------------+------+

>FLUSH PRIVILEGES;

  (2)远程机器连接:#mysql   -h  192.168.1.110  -P 3306  -u root -p

四、基本SQL命令
1、SQL命令的使用规则
  1、每条命令必须以分号 ; 结尾
  2、SQL命令不区分字母大小写
  3、使用 \c 终止命令的执行;  
2、库的管理
  1、库的基本操作
    1、查看已有的库
      show databases;
    2、创建库(指定字符集)
      create database 库名 default charset=utf8;
    3、查看创建库的语句
      show create database 库名;
    4、查看当前所在库
      select database();
    5、切换库
      use 库名;
    6、查看库中已有表
      show tables;
    7、删除库
      drop database 库名;

2、库的命名规则
  1、可以使用数字、字母、_,但是不能是纯数字
  2、库名区分字母大小写
  3、库名具有唯一性
  4、不能使用特殊字符和mysql关键字
3、练习
  1、创建库AID1712db,指定字符集为utf8
  2、进入到库AID1712db中
  3、查看当前所在库
  4、查看库中已有表
  5、查看AID1712db的字符集
  6、删除库AID1712db
3、表的管理
 1、表的基本操作
  1、创建表
    create table 表名(
      字段名 数据类型,
      字段名 数据类型,
        ...
      );
  2、查看创建表的语句(字符集)
    show create table 表名;
  3、查看表结构
    desc 表名;
  4、删除表
    drop table 表名;

  5,查看所有的表;

    show tables;
   2、注意
  1、所有的数据都是以文件的形式存储在数据库目录下
  2、数据库目录:/var/lib/mysql
3、练习
  1、创建库python
  2、在python库中创建表py_mysql,字段有如下三个
    id kuname biaoname 数据类型自己定义
  3、查看创建表的语句
  4、查看py_mysql的表结构
  5、删除表py_mysql

4、表记录的管理
  1、在表中插入记录
    1、insert into 表名 values(值1),(值2),....;
  2、查看表记录
    1、select * from 表名;
    2、select 字段名1,字段名2,... from 表名;
  3、练习
    1、查看所有的库
    2、创建一个新库studb
    3、在studb中创建一张表t1,字段有4个
      id name age score 数据类型自己定义
    4、查看t1的表结构
    5、在表t1中随便插入两条记录
    6、查看t1表中的所有记录
    7、查看创建表t1的语句(字符集)
5、如何更改默认字符集
  1、方法
    通过更改Mysql的配置文件实现
  2、步骤
    1、获取root权限
      sudo -i
    2、修改mysql配置文件
      vi /etc/mysql/mysql.conf.d/mysqld.cnf
      [mysqld]
      character_set_server = utf8
    3、重启mysql服务
      sudo /etc/init.d/mysql restart
6、客户端把数据存储到数据库服务器上的过程
  1、连接到数据库服务器 : mysql -uroot -p
  2、选择库 : use 库名;
  3、创建/修改表
  4、断开与数据库的连接 :exit | quit | \q
7、数据类型
  1、数值类型(有符号signed 和 无符号unsigned)
    1、整型
      1、int 大整型(4个字节)
        取值范围:0~2**32 -1
      2、tinyint 微小整型(1个字节)
        1、有符号(signed默认) -128~127
        2、无符号(unsigned) 0~255
      3、smallint 小整型(2个字节)
        取值范围:0~65535
      4、bigint 极大整型(8个字节)
        取值范围:0~2**64 -1
    2、浮点型
      1、float(4个字节,最多显示7个有效位)
        1、用法
          字段名 float(m,n) m->总位数 n->小数位位数
          float(5,2) 取值范围:-999.99~999.99
        2、注意
          1、浮点型插入整数时会自动补全小数位数
          2、小数位如果多于指定的位数,会对下一位四舍五入
      2、double(8个字节,最多显示15个有效位)
        1、用法
          字段名 double(m,n)
      3、decimal(M+2个字节,最多显示28个有效位)
        1、用法
          decimal(M,D)
  2、字符类型
     1、char(定长)
        1、宽度取值范围:1~255
        2、不给定宽度时,默认宽度为1
     2、varchar(变长)
        1、取值范围:1~65535
        2、注意
             1、varchar没有默认宽度,必须给定一个宽度;
          2、char和varchar使用时都给定宽度,但不能超过各自的范围;
     3、char 和 varchar的特点
        1、char
         浪费存储空间,性能高;
        2、varchar
         节省存储空间,性能低(弹性扩展);
        4、字符类型的宽度和数值类型的宽度的区别
       1、数值类型的宽度为显示宽度,只用于select查询时使用,和占用存储空间大小无关,可用zerofill查看效果
       2、字符类型的宽度超过则无法存储
 3、练习:

1、创建表stuinfo1712,utf8,字段要求:
学号 : id 要求显示宽度为3,位数不够用0填充
姓名 : name 变长,宽度20
班级 : class 定长,宽度为7
年龄 :age 微小整型,不能输入负数
身高 :height 浮点型,小数位数2位
工资 :salary 浮点型,小数位2位,最大值99999.99

2、在表中插入两条记录
3、查询表中记录,只显示姓名、年龄和工资
select name,age,salary from stuinfo1712;
4、查看表结构

 mysql> create table t1(
-> id int,
-> name char(2),
-> age tinyint unsigned
-> )default charset=utf8;
Query OK, 0 rows affected (0.39 sec) mysql>
mysql>
mysql> insert into t1 values(1,'西门庆',38);
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> insert into t1 values(1,'金莲',38);
Query OK, 1 row affected (0.04 sec) mysql> desc t1;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | char(2) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.10 sec) mysql> select * from t1;
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | 金莲 | 38 |
+------+--------+------+
1 row in set (0.00 sec) mysql> insert into t1 values(1,'aaa',18);
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> insert into t1 values(1,'aa',18);
Query OK, 1 row affected (0.03 sec) mysql> select * from t1;
+------+--------+------+
| id | name | age |
+------+--------+------+
| 1 | 金莲 | 38 |
| 1 | aa | 18 |
+------+--------+------+
2 rows in set (0.00 sec) mysql>
 mysql> create table t3( id int(3) zerofill, name char(15) )default charset=utf8;
Query OK, 0 rows affected (0.17 sec) mysql> insert into t3 values(1,'金毛狮王');
Query OK, 1 row affected (0.08 sec) mysql> select * from t3;
+------+--------------+
| id | name |
+------+--------------+
| 001 | 金毛狮王 |
+------+--------------+
1 row in set (0.00 sec) mysql> create table t4(
-> id int(100) zerofill,
-> name varchar(15)
-> );
Query OK, 0 rows affected (0.12 sec) mysql> insert into t4 values(1,'zisanlongwang');
Query OK, 1 row affected (0.04 sec) mysql> select * from t4;
+------------------------------------------------------------------------------------------------------+---------------+
| id | name |
+------------------------------------------------------------------------------------------------------+---------------+
| 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 | zisanlongwang |
+------------------------------------------------------------------------------------------------------+---------------+
1 row in set (0.01 sec) mysql>
###
ctrl +s 是屏蔽终端输出,ctrl + q 显示终端输出
 mysql> use db1
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> create table stuinfo1806(
-> id int(3) zerofill,
-> name varchar(20),
-> class char(7),
-> age tinyint unsigned,
-> height float(5,2),
-> salary decimal(7,2)
-> )default charset=utf8;
Query OK, 0 rows affected (0.36 sec) mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| stuinfo |
| stuinfo1806 |
| t1 |
| t2 |
| t3 |
| t4 |
+---------------+
6 rows in set (0.00 sec) mysql> insert into stuinfo1806 values(1,'xiaoming','AID1806',20,120.1234,10000.12345);
Query OK, 1 row affected, 1 warning (0.07 sec) mysql> select * from stuinfo1806;
+------+----------+---------+------+--------+----------+
| id | name | class | age | height | salary |
+------+----------+---------+------+--------+----------+
| 001 | xiaoming | AID1806 | 20 | 120.12 | 10000.12 |
+------+----------+---------+------+--------+----------+
1 row in set (0.05 sec) mysql> insert into stuinfo1806 values(2,'lili','AID1807',18,100.87633,7000.2334);
Query OK, 1 row affected, 1 warning (0.05 sec) mysql> select * from stuinfo1806;
+------+----------+---------+------+--------+----------+
| id | name | class | age | height | salary |
+------+----------+---------+------+--------+----------+
| 001 | xiaoming | AID1806 | 20 | 120.12 | 10000.12 |
| 002 | lili | AID1807 | 18 | 100.88 | 7000.23 |
+------+----------+---------+------+--------+----------+
2 rows in set (0.00 sec) mysql> desc stuinfo1806;
+--------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------------------+------+-----+---------+-------+
| id | int(3) unsigned zerofill | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| class | char(7) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
| height | float(5,2) | YES | | NULL | |
| salary | decimal(7,2) | YES | | NULL | |
+--------+--------------------------+------+-----+---------+-------+
6 rows in set (0.00 sec) mysql> show create table stuinfo1806;
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| stuinfo1806 | CREATE TABLE `stuinfo1806` (
`id` int(3) unsigned zerofill DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`class` char(7) DEFAULT NULL,
`age` tinyint(3) unsigned DEFAULT NULL,
`height` float(5,2) DEFAULT NULL,
`salary` decimal(7,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.06 sec) mysql> select name,age,salary from stuinfo1806;
+----------+------+----------+
| name | age | salary |
+----------+------+----------+
| xiaoming | 20 | 10000.12 |
| lili | 18 | 7000.23 |
+----------+------+----------+
2 rows in set (0.00 sec) mysql>

 3、枚举类型
   1、定义 :字段值只能在列举的范围内选择
   2、enum 单选(最多有65535个不同的值)
      字段名 enum(值1,值2,...)
   3、set 多选(最多有64个不同的值)
      字段名 set(值1,值2,...)
      likes set("Study","Girl","Python","MySQL")
      "Study,Gril"

 mysql> create table t5(
-> id int(3) zerofill,
-> name varchar(15),
-> class char(7),
-> sex enum('男','女','保密'),
-> likes set('男','女','学习','人工智能')
-> )default charset=utf8;
Query OK, 0 rows affected (0.65 sec) mysql> select * from t5;
Empty set (0.02 sec) mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| stuinfo |
| stuinfo1806 |
| t1 |
| t2 |
| t3 |
| t4 |
| t5 |
+---------------+
7 rows in set (0.04 sec) mysql> insert into t5 values
-> (1,'情意父王','AID1806','男','女,学习,人工智能');
ERROR 1265 (01000): Data truncated for column 'likes' at row 1
mysql> insert into t5 values (1,'情意父王','AID1806','男','女, 学习 ,人 能');Query OK, 1 row affected (0.06 sec) mysql> select * from t5;
+------+--------------+---------+------+-------------------------+
| id | name | class | sex | likes |
+------+--------------+---------+------+-------------------------+
| 001 | 情意父王 | AID1806 | 男 | 女,学习,人工智能 |
+------+--------------+---------+------+-------------------------+
1 row in set (0.01 sec) mysql> select * from t5\G;
*************************** 1. row ***************************
id: 001
name: 情意父王
class: AID1806
sex: 男
likes: 女,学习,人工智能
1 row in set (0.00 sec) ERROR:
No query specified mysql> insert into t5 values (2,'情意王子','AID1806','男','女,学习,人工智能');
Query OK, 1 row affected (0.01 sec) mysql> select * from t5\G;
*************************** 1. row ***************************
id: 001
name: 情意父王
class: AID1806
sex: 男
likes: 女,学习,人工智能
*************************** 2. row ***************************
id: 002
name: 情意王子
class: AID1806
sex: 男
likes: 女,学习,人工智能
2 rows in set (0.01 sec) ERROR:
No query specified mysql>

  4、日期时间类型
    1、year :年 YYYY
    2、date :日期 YYYYMMDD
    3、time :时间 HHMMSS
    4、datetime :日期时间 YYYYMMDDHHMMSS
    5、timestamp :日期时间 YYYYMMDDHHMMSS
    6、注意
      1、datetime不给值默认返回NULL
      2、timestamp不给值默认返回系统当前时间;

 mysql> create table t6(
-> id int(3) zerofill,
-> name varchar(15),
-> age tinyint unsigned,
-> birth_year year,
-> birthday date,
-> class time,
-> meeting datetime
-> )default charset=utf8;
Query OK, 0 rows affected (0.09 sec) mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| stuinfo |
| stuinfo1806 |
| t1 |
| t2 |
| t3 |
| t4 |
| t5 |
| t6 |
+---------------+
8 rows in set (0.00 sec) mysql> insert into t6 values
-> (1,'百媚英忘',88,1928,19280520,090000,20180601080000);
Query OK, 1 row affected (0.06 sec) mysql> select * from t6;
+------+--------------+------+------------+------------+----------+---------------------+
| id | name | age | birth_year | birthday | class | meeting |
+------+--------------+------+------------+------------+----------+---------------------+
| 001 | 百媚英忘 | 88 | 1928 | 1928-05-20 | 09:00:00 | 2018-06-01 08:00:00 |
+------+--------------+------+------------+------------+----------+---------------------+
1 row in set (0.00 sec) mysql>
mysql> create table t7(
-> id int(3) zerofill,
-> name varchar(15),
-> meeting datetime,
-> class timestamp
-> )default charset=utf8;
Query OK, 0 rows affected (0.12 sec) mysql> insert into t7(id,name) values(1,'zhaomin');
Query OK, 1 row affected (0.15 sec) mysql> select * from t7;
+------+---------+---------+---------------------+
| id | name | meeting | class |
+------+---------+---------+---------------------+
| 001 | zhaomin | NULL | 2018-06-04 22:49:06 |
+------+---------+---------+---------------------+
1 row in set (0.01 sec) mysql> desc t7;
+---------+--------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------------------+------+-----+-------------------+-----------------------------+
| id | int(3) unsigned zerofill | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| meeting | datetime | YES | | NULL | |
| class | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------+--------------------------+------+-----+-------------------+-----------------------------+
4 rows in set (0.00 sec) mysql>

8、表字段的操作
  1、语法 :alter  table  表名  执行动作;
    1、添加字段(add)
      1、添加到末尾
        alter  table  表名  add  字段名  数据类型;
      2、添加到开始
        alter table 表名 add 字段名 数据类型 first;
      3、添加到指定位置
        alter table 表名 add 字段名 数据类型 after 字段名
    2、删除字段(drop)
      alter table 表名 drop 字段名;
    3、修改数据类型(modify)
      alter table 表名 modify 字段名 新的数据类型;
    4、修改字段名(change)
      alter table 表名 change 旧名 新名 数据类型;
    5、修改表名(rename)
      alter table 表名 rename 新表名;
作业
1、填空题
1、MySQL中的数据类型有 ____、____、____、____
2、关系型数据库的核心内容是 ___ 即 ___
2、简答题
1、简述客户端把数据存储到数据库服务器上的过程
2、char和varchar的区别?各自的特点
3、操作题
1、创建一个库school
2、在库中创建表students来存储学生信息,字段如下
学号(id) 要求显示宽度为3位,位数不够用0填充
姓名(name)、年龄(age只能为正数)、成绩(score浮点)
性别(sex单选)、爱好(likes多选)、入学时间(年月日)
3、查看students的表结构
4、在students表中增加一个字段id,加在第一列
5、在表中任意插入5条记录
6、查看所有学生的姓名、成绩和入学时间

 mysql> create table t8(
-> name varchar(15)
-> )default charset=utf8;
Query OK, 0 rows affected (0.27 sec) mysql> alter table t8 add age tinyint unsigned;
Query OK, 0 rows affected (0.86 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| name | varchar(15) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.01 sec) mysql> alter table t8 add id int first;
Query OK, 0 rows affected (17.87 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.19 sec) mysql> alter table t8 add sex enum('M','F') after name;
Query OK, 0 rows affected (6.47 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| sex | enum('M','F') | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql>
mysql> alter table t8 drop sex;
Query OK, 0 rows affected (0.83 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec) mysql>
mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| sex | enum('M','F') | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec) mysql> alter table t8 drop sex;
Query OK, 0 rows affected (0.83 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(15) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec) mysql> alter t8 modify name char(10);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't8 modify name char(10)' at line 1
mysql> alter table t8 modify name char(10);
Query OK, 0 rows affected (1.68 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+-------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+-------+
3 rows in set (0.07 sec) mysql> alter table t8 change name new_name char(10);
Query OK, 0 rows affected (0.16 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t8;
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| new_name | char(10) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+----------+---------------------+------+-----+---------+-------+
3 rows in set (0.00 sec) mysql> alter table t8 rename t88;
Query OK, 0 rows affected (0.71 sec) mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| stuinfo |
| stuinfo1806 |
| t1 |
| t2 |
| t3 |
| t4 |
| t5 |
| t6 |
| t7 |
| t88 |
+---------------+
10 rows in set (0.00 sec) mysql> desc t8;
ERROR 1146 (42S02): Table 'db1.t8' doesn't exist
mysql> desc t88;
+----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| new_name | char(10) | YES | | NULL | |
| age | tinyint(3) unsigned | YES | | NULL | |
+----------+---------------------+------+-----+---------+-------+
3 rows in set (0.02 sec) mysql>

创建数据库utf8

MariaDB [(none)]> show create database django2;
+----------+--------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------+
| django2 | CREATE DATABASE `django2` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec) MariaDB [(none)]> create database `devops` /*!40100 default character set utf8 */ ;
Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| devops |
| django2 |
| hk_storage |
| mysql |
| performance_schema |
| zabbix |
+--------------------+
7 rows in set (0.00 sec) MariaDB [(none)]> show create database devops;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| devops | CREATE DATABASE `devops` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

mysql 删除指定一条记录

语法:delete  from  表名  where  条件;

>>>delete  from  table_name  where  id = 1;

MySQL篇,第一章:数据库知识1的相关教程结束。

《MySQL篇,第一章:数据库知识1.doc》

下载本文的Word格式文档,以方便收藏与打印。