MySQL数据库基本命令

SQL ( Structure query language ) 结构化查询语言

SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)

1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER 2、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE 3、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE 4、DQL语句 数据库操纵语言:查询数据SELECT

mysql数据库管理软件,记录事物一些数据特征:
由库,表,记录组成.
库相当于一个文件夹
表相当于一个文件
记录就是文件里面一条一条的内容
表中的成员属性就是一个一个字段
可以为每个项目建立一个数据库

关系型数据库:表与表之间有联系
比如:mysql,oracle,db2,sqlserver

非关系型数据库: key-value 键值对形式 没有表的概念
比如:redis,mongodb,memcache

SQL语句中的快捷键

\G 格式化输出(文本式,竖立显示)

\s 查看服务器端信息

\c 结束命令输入操作

\q 退出当前sql命令行模式

\h 查看帮助

 

1. 登录:mysql -uroot -p (注意单词间是由空格的) 

2. 退出:\q 或者exit

3. 远程连接MySQL服务器: mysql -uroot -p -h+ip号,比如mysql -uroot -p -h192.168.65.130

4. 查看当前登录用户:select user();(记得执行语句后面加冒号)

5. 设置此用户登录密码:set password = password("111");(括号内放要设置的密码)

6. 解除此用户的登录密码:set password = password("");(括号内为空)

 

7. 数据库的基本操作:

增:create database db0616 charset utf8;(数据库名称不用加引号)

删:drop database 成绩;

改:alter database db0616 charset gbk;

查:show databases;

 

8. 数据表的操作:

先选择数据库:use db0616;

增:

create table t1(id int,name char);

查:

查询所有数据表:show tables;

查询表的建表语句:show create table t1;(默认是水平显示),show create table t1\G;(变成垂直显示)

查看表结构:desc t1;

改:

修改数据结构:alter table t1 modify name char(4);

修改字段名和数据结构: alter table t1 change name NAME char(1);

添加字段:alter table t1 add age int;

删除字段:alter table t1 drop column age;

更改表名:alter table t1 rename t2;

删:

drop table t2;

 

8. 操作记录:

增:

一次增加一条数据:insert into t1(id,name) values(1,"bob");

一次增加多条数据:insert into t1(id,name) values(2,"jack"),(3,"lisa"); (将多条数据用元祖隔开)

不指定具体字段默认将依次增加字段值:insert into t1 values(4,"rose");(值跟字段需匹配)

可以指定字段来增加值:insert into t1(id) values(5);

查:

查找所有:select * from t1;

查找字段值:select name from t1;

改:

改值:update t1 set name="eric" where id =1;(如果不加条件,则所有的字段值都会被改)

删:

删除一条记录:delete from t1 where id = 2;(如果不加条件,所有的字段值都会改变)

重置数据表:truncate table t1;

 

9.常用数据类型:

(1)tinyint(小整型值): 1个字节,有符号的范围是(-128~127),无符号(unisigned)的范围是(0~255)

(2)int (大整型值):4个字节,有符号的范围是(-21亿~21亿左右),无符号的范围是(0~42亿左右)

(3) 浮点型:

float(255,30): 单精度,总长度是255,小数位是30

double(255,30): 双精度,总长度是255,小数位是30

decimal(65,30):金钱类型,总长度是255,小数位是30

可以设置总长度和小数位:create table t3(f1 float(5,2) , f2 double(5,2) , f3 decimal(5,2));

 

默认状态下,float默认保留5位小数,double默认保留16位小数,decimal默认保留四舍五入后的整数位。

create table t5(f1 float,f2 double,t3 decimal);

 

(4)字符串:

char(10) : 固定长度,固定开辟11个字符长度的空间(手机号,身份证号),char开辟空间的速度更快

varchar(11):不固定长度,最多创建字符长度为11位的空间(小评论),开辟空间速度较慢,但是节约内存

text:文本类型(文章,小说)

create table t9(a char(11) , b varchar(20) , c text);

insert into t9 values("111","小评论","评论多多");

 

10. MySQL用法:

(1)可使用拼接查询:concat

select concat(a,":",b,":",c) from t9;   (111:小评论:评论多多)

(2)枚举enum:从列出来的数据当中选一个,如性别

(3)集合set:从列出来的数据中选多个(注意去重性)

create table t12(
-> id int,
-> name char(10) ,
-> money float(6,2) ,
-> sex enum("man","women") ,
-> hobby set("reading","run","walk")
-> );

 insert into t12 (id,name,money,sex,hobby) values(1,"bob",10.9,"man","run,run,walk");

mysql> select * from t12;
+------+------+-------+------+----------+
| id | name | money | sex | hobby |
+------+------+-------+------+----------+
| 1 | bob | 10.90 | man | run,walk |
+------+------+-------+------+----------+

 

 

# ### mysql 卸载
# (1) windows 卸载
关闭服务
cmd : mysqld remove
删除已经解压的文件夹
重启电脑

# (2) linux 卸载
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get remove mysql-common
sudo rm -rf /etc/mysql/ /var/lib/mysql
#清理残留数据
dpkg -l |grep ^rc|awk ‘{print $2}‘ |sudo xargs dpkg -P
sudo apt autoremove
sudo apt autoreclean

 

存储引擎:

InnoDB
用于事务处理应用程序,支持外键和行级锁。如果应用对事物的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多更新和删除操作,那么InnoDB存储引擎是比较合适的。InnoDB除了有效的降低由删除和更新导致的锁定,还可以确保事务的完整提交和回滚,对于类似计费系统或者财务系统等对数据准确要求性比较高的系统都是合适的选择。

MyISAM
如果应用是以读操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高,那么可以选择这个存储引擎。

Memory
将所有的数据保存在内存中,在需要快速定位记录和其他类似数据的环境下,可以提供极快的访问。Memory的缺陷是对表的大小有限制,虽然数据库因为异常终止的话数据可以正常恢复,但是一旦数据库关闭,存储在内存中的数据都会丢失。

#查看当前的默认存储引擎:
show variables like "default_storage_engine";
#更改表的存储引擎
alter table t1 engine = innodb;
方法2:
#my.ini文件
[mysqld]
default_storage_engine=INNODB

MySQL数据库基本命令

上一篇:oracle高级查询


下一篇:Linux 虚拟机详细安装MySQL