Mysql基本使用

> 数据库就是存储数据的仓库
**分为关系型数据库和非关系型数据库**
常用的数据库管理软件有:甲骨文的oracle MySQL(开源、免费、跨平台)  
IBM的db2 微软的sql server access

下载安装MySQL:
登录 cmd :mysql -u用户名 -p(回车就是输入密文,不回车直接输入就是明文,都可以)
退出 quit;exit;
-q; 不要忘记分号
连接其他主机的MySQL:
mysql
-h 服务器IP -P 端口号(一般默认3306)-u用户名 -p

sql及其规范
sql就是针对数据库操作的指令集
不区分大小写,尽量用大写
单行注释 --
多行注释
/* */
打印当前时间 select now();
mysql
> select now();
+---------------------+
| now() |
+---------------------+
| 2019-09-18 20:26:25 |
+---------------------+
1 row in set (0.00 sec)

显示所有数据库:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| book_msg |
| dianqi_std |
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
8 rows in set (0.15 sec)
删除数据库:
drop database 数据库名;
创建数据库:
create database dbname;
C:\ProgramData\MySQL\MySQL Server
8.0\Data --所有创建的数据库都在这ProgramData是隐藏的

mysql</span>&gt; create database s3;                   --<span style="color: #000000;">创建一个名为s3的数据库
Query OK, </span>1 row affected (0.02<span style="color: #000000;"> sec)

mysql</span>&gt; create database s3;                   --<span style="color: #000000;">重复创建这个数据库
ERROR </span>1007 (HY000): Can<span style="color: #800000;">'</span><span style="color: #800000;">t create database </span><span style="color: #800000;">'</span>s3<span style="color: #800000;">'</span><span style="color: #800000;">; database exists  --报错,已存在</span>
mysql&gt; create database <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> exists s3;       --<span style="color: #000000;"> 加上一句话就不报错,出现警告
Query OK, </span>1 row affected, 1 warning (0.01<span style="color: #000000;"> sec)

mysql</span>&gt; show warnings;                          --<span style="color: #000000;"> 查看出现的警告
</span>+-------+------+---------------------------------------------+
| Level | Code | Message                                     |
+-------+------+---------------------------------------------+
| Note  | 1007 | Can<span style="color: #800000;">'</span><span style="color: #800000;">t create database </span><span style="color: #800000;">'</span>s3<span style="color: #800000;">'</span><span style="color: #800000;">; database exists |</span>
+-------+------+---------------------------------------------+
1 row <span style="color: #0000ff;">in</span> set (0.00<span style="color: #000000;"> sec)


查看创建信息
show create database s3;
</span>+----------+------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                              |
+----------+------------------------------------------------------------------------------------------------------------------------------+
| s3       | CREATE DATABASE `s3` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION=<span style="color: #800000;">'</span><span style="color: #800000;">N</span><span style="color: #800000;">'</span> */ |
+----------+------------------------------------------------------------------------------------------------------------------------------+
1 row <span style="color: #0000ff;">in</span> set (0.00<span style="color: #000000;"> sec)

在创建时指定字符编码
create database s4 character set gbk;
再查看就变为gbk编码了
mysql</span>&gt;<span style="color: #000000;"> show create database s4;
</span>+----------+-----------------------------------------------------------------------------------------------+
| Database | Create Database                                                                               |
+----------+-----------------------------------------------------------------------------------------------+
| s4       | CREATE DATABASE `s4` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION=<span style="color: #800000;">'</span><span style="color: #800000;">N</span><span style="color: #800000;">'</span> */ |
+----------+-----------------------------------------------------------------------------------------------+
1 row <span style="color: #0000ff;">in</span> set (0.00<span style="color: #000000;"> sec)

修改已经创建的数据库的字符编码
ALTER DATABASE employee CHARACTER SET UTF8;



进入数据库:
use bdname;
检测当前所在的数据库:
select database();
</span>+------------+
| database() |
+------------+
| s4         |
+------------+
1 row <span style="color: #0000ff;">in</span> set (0.00<span style="color: #000000;"> sec)

可以通过use dbname 在不同的数据库之间切换

表的创建
主键:非空且唯一 not null unique
三种数据类型:数字、字符、时间和日期

mysql> CREATE TABLE employee( --创建表
-> id INT PRIMARY KEY AUTO_INCREMENT, --主键 自增
-> name VARCHAR(25), --25个字节
-> birthday date,
-> salary DOUBLE(7,1) --一共七个数字,小数点后一位
-> );
Query OK, 0 rows affected (
0.10 sec)

mysql</span>&gt;<span style="color: #000000;"> desc employee;   查看表结构
</span>+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(25) | YES  |     | NULL    |                |
| birthday | date        | YES  |     | NULL    |                |
| salary   | double(7,1) | YES  |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows <span style="color: #0000ff;">in</span> set (0.01<span style="color: #000000;"> sec)

mysql</span>&gt; SHOW CREATE TABLE employee;    --<span style="color: #000000;">查看表的创建信息
</span>+----------+------------------------------------
| Table    |<span style="color: #000000;"> Create Table                                                                                                                                                                                                                       
</span>+----------+-----------------------------
| employee |<span style="color: #000000;"> CREATE TABLE `employee` (
  `id` int(</span>11<span style="color: #000000;">) NOT NULL AUTO_INCREMENT,
  `name` varchar(</span>25<span style="color: #000000;">) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  `salary` double(</span>7,1<span style="color: #000000;">) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE</span>=InnoDB DEFAULT CHARSET=gbk |
+----------+-------------------------------
1 row <span style="color: #0000ff;">in</span> set (0.01<span style="color: #000000;"> sec)

表字段操作:
添加字段:
ALTER TABLE employee ADD entry_date date not null AFTER birthday; --AFTER(FIRST)将字段添加到某个字段之后
添加多个字段
ALTER TABLE employee ADD A INT,
ADD B INT;
删除字段:
ALTER TABLE employee DROP A,
DROP B;
修改字段:
ALTER TABLE employee MODIFY A VARCHAR(
4) UNIQUE;
修改已经创建的表的字符编码
ALTER TABLE employee CHARACTER SET UTF8;
修改字段名:
ALTER TABLE EMPLOYEE CHANGE A B CHAR(
4);
修改表名:
RENAME TABLE S3 TO S4;
表记录操作:
向表中添加记录:
方式一 : () VALUES () VALUES左右对应
INSERT INTO EMP (id,name,gender,salary,B) VALUES
(
1,"瞎驴",1,5000.21,"HELL");
添加多条:
INSERT INTO EMP (name,gender,salary,B) VALUES
(
"ALEX",1,5000,"WORL"),
(
"丹丹",0,3000,"HELO");
注意:如果插入的id号不是按顺序来的,下次插入会按插入的id继续向下计数
就是说本来id号到6了,继续插入记录应该是7,但指定id为10,下面插入的记录如果没指定id,
就是11
方式二: SET 键值对:
INSERT INTO EMP SET name
="珊珊",gender=0; --其余没有对应的自动为NULL
查看表记录:
mysql
> select * from emp;
+----+------+--------+--------+------+
| id | name | gender | salary | B |
+----+------+--------+--------+------+
| 1 | 瞎驴 | 1 | 5000.2 | HELL |
| 4 | ALEX | 1 | 5000.0 | WORL |
| 5 | 丹丹 | 0 | 3000.0 | HELO |
+----+------+--------+--------+------+
3 rows in set (0.00 sec)
修改表记录:
UPDATE EMP SET name
= "lvxia" WHERE ID = 1 -- WHER 做筛选,否则会修改所有的name
删除表记录:
两种方式:
DELETE FROM TABLE_NAME [WHERE....]; :逐条删除
TRUNCATE TABLE TABLE_NAME; :删除整个表,在创建一个空表

 

posted @ 2020-06-13 20:34  pywhy  阅读(130)  评论(0编辑  收藏  举报