【MySQL】数据库常用语法操作整理

目录

服务器:

客户端:

    数据库操作:

        增:

        删:

        改:

        查:

    数据表操作:增、删、改、查

        增:

        删:

        改:

        查: 

        添加约束:

        数据库导入导出:


服务器:

启动:sudo service mysql start 

停止:sudo service mysql stop 

重新启动:sudo service mysql restart 

查看服务状态:sudo service mysql status

客户端:

 

连接数据库:mysql -u root -p

    数据库操作

增(Create)、删(Delete)、改(Update)、查(Read/Retrieve),在操作数据库时,所有的数据库语句都要以分号结束。

        增:           

创建数据库:create database 数据库名;
create database 数据库名 character set utf8;

        删:

删除数据库:drop database 数据库名;

        改:           

修改数据库编码:alter database 数据库名 charset=utf8;(可以在创建时就设定为utf8)

        查:            

显示数据库创建信息:show create database 数据库名;

显示所有数据库:show databases; 

显示当前数据库:select database();

        *切换、使用数据库:use 数据库名;

 

    数据表操作:增、删、改、查

        增:

                创建一张新表:create table 表名(字段 数据类型,字段 数据类型,……);如:create table class(id int,name char(10),age int);

                为已存在的表增加字段:alter table 表名 add 字段名 数据类型;

               向表中添加数据:指定字段:insert into 表名(字段名,逗号隔开) values(值,与字段名一一对应); 不指定字段:insert into 表名 values(值,逗号隔开);

                插入多条数据: insert into 表名 values(值,逗号隔开),(值,逗号隔开);字段名可以指定也可以不指定

        删:

                删除一个表:drop table 表名;

                删除一个字段:alter table 表名 drop 字段名;

                删除全部数据:truncate 表名;没有事物,速度快,/delete from 表名;有事物操作,速度慢

                删除满足条件的数据:delete from 表名 where 字段=值; where后是条件

        改:

                只修改字段的数据类型:alter table 表名 modify 字段名 数据类型;

                同时修改字段名和该字段名的数据类型:alter table 表名 change 原字段名 新字段名 数据类型;

                更新所有数据:update 表名 set 字段名=值;

                更新满足条件的数据:update 表名 set 字段名=值 where 字段名=值; where后写的是条件

        查: 

               查看表结构 :desc 表名;

               查看所选数据库中所有的表:show tables;   

              显示创建表时的信息:show create table 表名;(使用\G,以记录条目形式显示,更清晰,如:show create table 表名 \G;) 

                查询表中指定字段内容:select 字段名 from 表名;

                不指定字段查询:select * from 表名;

 

        添加约束:

约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的准确性,完整性、唯一性,可靠性、联动性。

            主键约束:让数据具有唯一性约束和非空约束,即在有主键约束的字段下添加相同数据或不给数据,会报错(一个表中最多只能有一个主键约束),语法:create table 表名(字段名 数据类型 primary key , 字段名 数据类型……);

后期添加主键约束:alter table 表名 add constraint 约束名 primary key(要添加约束的字段名); 删除主键约束:alter table 表名 drop primary key;

                自动增长(配合主键):需要配合主键约束一起使用,如果字段没有设置主键约束,是不允许设置自动增长的,语法:create table 表名(字段名 数据类型 auto_increment primary key,字段名 数据类型……);

            唯一性约束:保证不出现重复数据,不用配合主键约束,create table 表名(字段名 数据类型 unique,其它字段名和数据类型);

            非空约束:不允许字段为空,create table 表名(字段名 数据类型 not null,其它字段);

            默认约束:添加数据时,没有给值,该字段使用默认值,create table 表名(字段名 数据类型 default "默认内容",其它字段);

            外键约束:让两表之间产生联动关系(被关联表中的字段必须是主键约束字段,而且外键约束语句要在所有字段写完之后再写),语法:create table 表1(字段x 数据类型 primary key,其它字段……);create table 表2(字段y 数据类型, 其它字段 ……,foreigh key(自身表中要关联的字段名) references 被关联表名(表1中的字段x));这样表2就关联到了表1,表2受到了表1的约束,要想删除表1,必须先删除表2;   后期添加外键约束:alter table 表名 add constraint 外键约束名 foreign key (设置外键的字段) references 被关联表名(被关联字段名);  删除外键约束:alter table 表名 drop foreign key 外键约束名;

        数据库导入导出:

            使用数据库导入导出功能,可以对数据库进行备份、迁移等操作。

            导出整个数据库:mysqldump -uroot -p 数据库名 > 目标文件.sql

            导出库中指定表:mysqldump -uroot -p 数据库名 表名1 表名2... > 目标文件.sql

            导入数据库:导入数据库前要先创建一个空数据库, 语法:mysql -uroot -p 数据库名 <要导入文件.sql

 

你可能感兴趣的:(------【MySQL】,❤数据库)