MySQL基础(一)

MySQL基础(一)

MySQL服务的启动和关闭

  1. 手动
    鼠标右键此电脑"管理",进入"服务和应用程序",定位至mysql(名称可能不是mysql,取决于用户安装时的命名,例如可能是mysql80)可见服务具体启动及设置情况,可设置mysql为自启动,之后开机后不用再进行mysql启动操作.
  2. cmd输入services.msc打开服务与应用程序,之后操作同上.
  3. 使用管理员打开cmd
    net start mysql //启动mysql服务
    (取决于用户的数据库命名,可能是mysql80,操作变为 net start mysql80,数据库名没输对,cmd反应为服务名无效)
    net stop mysql //关闭mysql服务

登录与退出MySQL

登录

  • mysql -uroot -p密码 //u代表username,p代表password
  • mysql -uroot -p回车–>再输密码,此时密码不可见,相对上一种暴露密码的方式此方法安全,建议使用此方法.
  • mysql -hip -uroot -p链接目标的密码

退出

  • exit
  • quit
  • \q
mysql> exit
Bye

C:\Windows\system32>
mysql> quit
Bye

C:\Windows\system32>
mysql> \q
Bye

C:\Windows\system32>

SQL

基本概念

结构化查询语言(Structured Query Language),其实就是定义了操作所有关系型数据库的规则

通用语法

  • SQL语句可以单行或多行书写,以分号结尾.
  • 可用缩进和空格增强语句的可读性.
  • MySQL的SQL语句不区分大小写,关键字一般用大写.

注释
单行注释:

  • – 注释
  • # 注释
    多行注释:
  • /*
    注释
    */

数据库操作-增删改查CRUD

  1. 增(create)
    CREATE DATABASE 数据库名称;
    判断数据库存在与否,不存在则创建(由于创建重复数据库会报错)
    CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 字符集名;(同时指定了字符集)

  2. 删(delete)

  • 删除数据库
    • DROP DATABASE 数据库名称;
  • 判断数据库是否存在,存在则删除.
    • DROP DATABASE IF EXIISTS 数据库名称;
  1. 改(update)
  • 修改数据库的字符集
    -ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
  1. 查(retrieve)
  • 查询所有数据库名称;
    SHOW DATABASES;
	mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| db1                |
| db3                |
| db4                |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.02 sec)
  • 查询某个数据库的字符集
    SHOW CREATE DATABASE 数据库名称;
mysql> SHOW CREATE DATABASE DB1;
+----------+-------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                               |
+----------+-------------------------------------------------------------------------------------------------------------------------------+
| DB1      | CREATE DATABASE `DB1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

  1. 使用数据库
  • 查询当前正在使用的数据库名称
    select database();
  • 使用数据库
    use 数据库名称;

操作表

  1. 创建表
  • 语法
    • CREATE TABLE 表名(
      列名1 数据结构1,
      列名2 数据结构2,

      列名n 数据结构n
      );
  • 数据库类型:
    • int:整型
      • eg: AGE INT,
    • double:小数类型
      • eg: SCORE DOUBLE(5,2), 小数5位,小数点后2位如999.99
    • date:日期,年月日 yyyy-MM–dd
    • datetime:yyyy-MM–dd HH:mm:ss
    • timestamp:时间戳(如果不给这个字段赋值,或值为null,则默认使用当前系统时间)
    • varchar:字符串
      • eg: NAME VARCHAR(20), 姓名最大20个字符.
mysql> CREATE TABLE STUDENT(
    -> ID INT,
    -> NAME VARCHAR(32),
    -> AGE INT,
    -> SCORE DOUBLE(4,2),
    -> BIRTHDAY DATE,
    -> INSERT_TIME TIMESTAMP
    -> );
Query OK, 0 rows affected, 1 warning (0.05 sec)
mysql> DESC STUDENT;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ID          | int         | YES  |     | NULL    |       |
| NAME        | varchar(32) | YES  |     | NULL    |       |
| AGE         | int         | YES  |     | NULL    |       |
| SCORE       | double(4,2) | YES  |     | NULL    |       |
| BIRTHDAY    | date        | YES  |     | NULL    |       |
| INSERT_TIME | timestamp   | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
  1. 删除表
  • DROP TABLE IF EXISTS 表名;
    复制表:CREATE TABLE 表名 LIKE 被复制的表名;
    创建一个和STUDENT一样的表STU;
    然后删除.
mysql> CREATE TABLE STUD LIKE STUDENT;
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> DROP TABLE IF EXISTS STUD;
Query OK, 0 rows affected (0.03 sec)
  1. 修改表
  • 修改表名
    ALTER TABLE 表名 RENAME TO 新的表名;
  • 修改表字符集
    ALTER TABLE 表名 CHARACTER SET 字符集名称;
  • 添加列名
    ALTER TABLE 表名 ADD 列名 数据类型;
  • 修改列名称
    ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
    ALTER TABLE 表名 MODIFY 列名 新数据类型;
  • 删除列
    ALTER TABLE 表名 DROP 列名;
  1. 查询表
  • 查询某个数据库中的所有名称
    • SHOW TABLES;
  • 查询表结构
    • DESC 表名;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值