day01 常用的数据库命令
先了解一下MySQL的部署结构
mysql分为服务器端和客户端
服务器端是负责存储/维护数据的 比如银行的数据库服务器
客户端:是负责链接数据库,对数据进行增删改查 如ATM机
如何用客户端链接服务器呢?
mysql.exe -h127.0.0.1 -p3306 -uroot -p
mysql .exe 是启动mysql的快捷键 .exe实在windows上面运行的文件,
-h127.0.0.1 -h是host的缩写 IP地址/域名 127.0.0.1是本地回环地址或者是localhost 自己这台电脑的默认地址。
-P 大写的p,Port 端口 通过那个端口来链接数据库的默认为3306
-u user 用户名 -uroot 管理员用户 权限最高 删库跑路他最强
-p 小写p password 的缩写 密码
mysql.exe -h127.0.0.1 -P3306 -uroot -p (中间空格分隔)
可以简写为 mysql -uroot; 就可以直接登录
(3)Mysql 管理命令
quit; 退出服务器连接
show database;显示当前数据库服务器所有的数据库
use+ 数据库名称 ;进入指定的数据库 use xz; 进入学子数据库
在数据库中一定要英文分号结尾不然他会让你一直输入;
show tables;显示当前数据库所有的数据表
desc + 表名称;描述表中有哪些列;
create table:创建表 creat 创造 table表;
(4)sql命令
结构化查询语言,用来操作关系型数据库服务器,主要主要对数据进行增删改查
sql命令的执行方式
- 交互模式:直接在客户端输入,输入一行点一次回车,服务器端就会执行一行适用于临时性创建出数据;
- 脚本模式:在客户端创建一个以.sql后缀名的脚本文件在里面编写内容最后一次性提交给服务器,运行sql文件 是在建立连接的时候提交脚本
mysqk -uroot < 拖拽过来 直接将文件拖拽
SQL语句的语法规范
- 一条SQL命令可以跨越多行,以英文分号(;)作为结尾
- SQL命令中不区分大小写,习惯上关键字大写非关键字小写
- 假设某一条SQL命令出现错误,此条命令后面的所有命令都不会执行
- 注释分为单行注释(#…)和多行注释(/**/)建议大家用脚本模式添加数据,小白的话不建议用可以直接回车补全的编辑器这种对记忆不太好,我感觉我记得就是很好。多敲肌肉记忆很重要。
常用的SQL命令
1. //丢弃数据库,如果存在 (在开始学习,可能一个数据库要执行好多次,
//但是第一次创建完一个库,第二次在运行,
//他会显示这个数据库已经被创建所以要先查看数据库 再丢掉数据库)
2 DROP DATABASE IF EXISTS xz; / / 关键词大写
//DROP丢弃,EXISTS存在 //查看有没有名为xz的数据库
//创建数据库
//CREATE DATABASE +数据库名;
3.CREATE DATABASE XZ; //创建一个名为XZ的数据库
//进入名为xz的数据库
USE xz;
4//.创建一个数据表 先叫他xz1把
//CREATE TABLE xz1 (
//小括号是要添加表格里面含有的属性,最后那个不用加逗号 写完 记得在外面加分号) INT表示整数 VARCHAR(8)表示字符串型 8表示可以存放8个字符串
CREATE TABLE xz1(
sid INT,
name VARCHAR(8),
sex VARCHAR(1),
score INT
);
5.插入数据
//INSERT INTO ... VALUES INSERT 插入 INTO:到...里面
INSERT INTO jd VALUES( '1',' tom ', '男','81);
//向里面插入一个学号为1姓名为tom性别为男分数为81的一条数据
6.查询数据
SELECT *from xz;
练习来了:(1)创建名为lm 数据库并进入到数据库,然后创建两个表分别为dmxy(德玛西亚),nkss(诺克萨斯)的两个表,在向里面插入数据, dmxy中插入 编号ID 为1name盖伦 性别SEX为男,工资salary 8000 根据要求设置表的属性 ,然后再去进nkss的表中添加 编号为ID 2 , name 德莱厄斯 性别SEX 男,工资salary 10000,再查看两个表的数据.
答案:
//先查询有没有,如果有将其丢弃
DROP DATABASE IF EXISTS lm;
//创建lm数据库
CREATE DATABASE lm;
//进入数据库
use lm;
//创建dmxy这个表;
CREATE TABLE dmxy(
id INT,
name VARCHAR(8),
sex VARCHAR(1),
salary INT
);
INSERT INTO yxlm VALUES(1,'盖伦','男',‘8000’);
select *from dmxy;
use lm;
//创建nkss这个表;
CREATE TABLE nkss(
nid INT,
name VARCHAR(8),
sex VARCHAR(1),
salary INT
);
INSERT INTO yxlm VALUES(1,'诺克','男',‘10000’);
select *from nkss;
//(7)修改数据
UPDATE user SET email='ssd@163.com ',isOnline ='y'
WHERE uid = '3';
//UPDATE 更新 user 用户表 set设置
// email = 'ssd@163.com isOnline 改成y WHERE uid =3是uid为3的
//(8)删除数据
DELETE FROM use WHERE uid = '2';
//删除use表中id为2的列
数据库的格式入如果不是UTF-8的话就会出现乱码.
那么如何避免这些问题呢
数据库分为客户端 跟服务端
首先要让服务端读懂这是 UTF-8的代码
所以呢
他来了
//设置名称utf8不用写- 客户端连接服务器短的编码
set names utf8;
//设置服务端创建数据库使用的编码
CREATE DATABASE xz CHARSET=UTF8;
//这两个都要设置
练习:编写脚本文件01_sina.sql,设置编码为utf8,创建数据库sina,进入该数据库,创建保存新闻数据的表news,包含有编号nid,标题title,发表时间ctime,来源origin,详情detail,插入若干条数据,修改一条,删除一条,最后查询结果。
//设置编码格式为UTF-8
SET names utf8;
//然后查找有没有名为sina 如果有将他丢弃
DROP DATABASE IF EXISTS sina;
//开始创建数据库 并设置编码格式为UTF-8
CREATE DATABASE sina CHARSET = utf8;
//进入数据库sina
USE sina;
//创建保存新闻的数据表
CREATE TABLE news(
nid INT,
title VARCHAR(5O),
ctime date,
origin VARCHAR(20),
detail VARCHAR(80)
);
//插入三条数据
INSERT INTO sina VALUES(3,'震惊,一学生竟然用linux这么做','2019-11-20','csdn韩程远的博客','linux搭建Samba');
INSERT INTO sina VALUES(4,'JavaScript','2019-11-21','csdn韩程远的博客','函数');
INSERT INTO sina VALUES(5,'linux','2019-11-22','csdn韩程远的博客','linux搭建LNMP');
//对编号为3的数据里面的title进行修改
UPDATE sina SET title ='liunx入门到放弃'WHERE uid ='3';
//删除编号为4的数据
DELETE FROM sina WHERE uid ='4';
SELECT * FROM sina;