The basic use of MySQL database

      MySQL is a relational database management system, developed by the Swedish company MySQL AB, and MySQL AB was acquired by Oracle Corporation, it now belongs to the MySQL Oracle Corporation. MySQL is a relational database management systems, relational database to store data in separate tables rather than putting all the data in a large warehouse, thus increasing the speed and improved flexibility .

      MySQL is open source, so you can use it for free.

      MySQL support large databases that can handle millions of records have a large database. However, based on actual production experience, when the amount of data a single table to reach thirty million, a sharp decline in database performance, or even the entire database are paralyzed, not log on.

      MySQL using standard SQL language in the form of data, structured query language (Structured Query Language) referred to as SQL, is a special purpose programming language is a programming language and database query for accessing data and queries, updates, and relational database management system; also a database script file name extension.

       After MySQL installed, you can log in use. The most important is using SQL CRUD operations.

 

1, check the database

# mysql -u root -p'P@ssw0rd'

mysql> show databases;

 

2, the switching database

mysql> use mysql;

 

 

 

note:

1: information_schema # This database holds information for all MySQL server database. Such as the database name, database tables, table column data type does not access permissions. 

2: performance_schema # MySQL 5.5 to start a new database: PERFORMANCE_SCHEMA, mainly for the collection database server performance parameters. Curry and table storage engines are PERFORMANCE_SCHEMA, but users can not create storage engine for the PERFORMANCE_SCHEMA table.

3:mysql 库是系统库,里面保存有账户信息,权限信息等。

4:mysql5.7 增加了sys 系统数据库,通过这个库可以快速的了解系统的元数据信息。元数据是关于数据信息的数据,如数据库名或表名,列的数据类型,或访问权限等。

 

3、创建数据库

语法:create database 数据库名;

 

创建数据库注意事项:

      1、在文件系统中,MySQL 的数据存储区将以目录方式表示 MySQL 数据库。因此,上面命令中的数据库名字必须与操作系统的约束的目录名字一致。例如不允许文件和目录名中有 \,/,:,*,?,”,<,>,| 这些符号,在 MySQL 数据库名字中这些字母会被自动删除。<遵从目录的约束>

      2、数据库的名字不能超过64个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字必须用反引号``包起来。

      3、数据库不能重名。

 

mysql> create databases 'YF-test';    # 使用单引号,建库失败

mysql> create databases `YF-test`;   # 使用反引号,建库成功

 

# ls /var/lib/mysql/  #查看数据库存放目录

 

4、查看自己所处的位置及默认所在的位置

 

mysql> select database();

+------------+

| database() |

+------------+

| NULL       |

+------------+

1 row in set (0.00 sec)

# 如果什么数据库也没有选择,默认显示的是NULL,Null意味着没有选择数据库

 

mysql> use mysql;

Database changed

mysql> select database();

+------------+

| database() |

+------------+

| mysql      |

+------------+

1 row in set (0.00 sec)

 

5、删除数据库

删除数据库没有任何提示,要慎重操作;最好操作的时候,旁边有人看着你操作。

方法1:mysql> drop database `create`;    

方法2:直接到数据库存放目录移出就行。

 

  

6、查看库有哪些表,查看表,要进入到数据库再查看

 

 

 

7、创建表:

语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);

mysql> create database test;

mysql> use test;

mysql> create table student(id int(20),name char(40),age int);

 

8、查看表的结构

 

 

 

9、删除表

mysql> drop table student;

 

10、修改表名称alter

语法:alter table 表名 rename 新表名;

 

 

 

11、修改表中的字段类型

语法:alter table 表名 modify 要修改的字段名 要修改的类型;

mysql> alter table students modify id int(10);

 

  

12、修改表中的字段类型和字段名称

语法:alter table 表名 change 原字段名 新字段名 新字段类型;

注意:mysql 不支持同时修改多个字段,

MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]

 

 

注:CHANGE 和MODIFY的区别: 

      CHANGE 对列进行重命名和更改列的类型,需给定旧的列名称和新的列名称、当前的类型。MODIFY 可以改变列的类型,此时不需要重命名(不需给定新的列名称)。

 

13、在表中添加字段

语法:alter table 表名 add 字段名 字段类型;

mysql> alter table students add sex enum('M','W');

 

  

14、指定位置添加字段,在第一列添加一个字段

mysql> alter table students add uid int(10) first;

 

 > alter table students add address char(40) after age;

 

  

15、删除表中字段:

语法:alter table 表名 drop 字段名 ;

mysql> alter table students drop address;

 

 

 

16、插入字段<记录>insert

语法:insert into 表名values (字段值1,字段值2, 字段值3);

mysql> create table student(id int(20),name char(40),age int);

mysql> insert into student values(1,'zhangs',21);

 

插入记录时要对应相对的类型

mysql> insert into student values(2,'lis',24),(3,'wange',26);

 

同时插入多条,使用,分开

mysql> insert into student (id,name)values(4,'hangl');

 

17、查询表中记录:

语法:select * from 表名称;

mysql> select * from student;     # *表示所有

 

当字段比较多的时候我们也可以使用\G

mysql> select * from student\G

 

只查询表中某个字段的内容:

mysql> select name from student;

 

18、查看别的数据库的表或者不在本数据库上进行查看

语法:SELECT 字段 FROM 数据库名.表名;

mysql> select *from HA.student; 

# 查看某个数据库下指定的表内容,数据库名.表名

 

19、删除记录

删除id为3的行

mysql> delete from students where id=3;

 

删除age为空的行

mysql> delete from students where age is null;

 

20、更新记录

mysql> update students set sex='M' where id=2;

mysql> update students set id=2;          # 所有的都变为2

mysql> update students set stname='zhangsan',age=21 where uid=1;

# 同时更新多个字段时候用,逗号隔开

 

21、SQL基础条件查询语句

语法:select 字段名1,字段名2 from 表名 [where 条件];

 

(1)查询students表中的name,age

mysql> select name,age from student;

 

(2)去重复查询distinct 

mysql> select distinct name,age from student;

mysql> select  distinct id,name,age from student where id=3;

 

mysql> select distinct * from students;  # mysql的distinct可以对*使用

 

(3)使用and和or进行多条件查询

or和and 同时存在时,先算and的两边值,逻辑与先执行

mysql> select id,name,age from student where id>3 and age>25;

mysql> select id,name,age from student where id>3 or age>25;

 

mysql> select * from students where stname='zhangsan' and (age=21 or age=24);

注意and和or都是用的时候的逻辑关系

 

(4)MySQL区分大小写查询

MySQL查询默认是不区分大小写的,对比如下:

mysql> select name from student where name='jk';

mysql> select * from student where binary name='jk';

# BINARY是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。

 

(5)MySQL查询排序:

语法:select distinct 字段1,字段2 from 表名order by 字段名;

默认为升序  asc

mysql> select distinct id from student order by id asc;

mysql> select distinct id from student order by id desc;

欢迎大家关注微信公众号,一起学习交流!

我的公众号!

https://mp.weixin.qq.com/s/KqlrX13DSQdZb3BVT2dqfA

Guess you like

Origin www.cnblogs.com/yanfeng-hb/p/11968793.html