下文主要给大家带来MySQL有哪些常用的基础语句,希望这些内容能够带给大家实际用处,这也是我编辑MySQL有哪些常用的基础语句这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
一、查看数据库。对于查看数据库来讲,拥有三种方法
1.进入数据库直接查看
mysql> show databases;
查看后默认会看到四个系统数据库,其中
nformation_schema :保存了所有数据库的元数据。注:描述数据的数据叫做元数据。例如:文件夹的属性信息、权限、大小、文件名、文件类型等等。
performance_schema: 是MySQL 5.5版本后新增的性能优化引擎,主要作用用于收集数据库云服务器性能参数。注意MySQL是用户不能够创建存储引擎为performance_schema的表的,如果是编译安装,必须是在初始化的过程中使其自主创建。
mysql:属于系统库,里面保存账户及权限信息,管理员可以通过手动更改mysql.user表来设置用户密码。
sys数据库:是用于快速了解系统的元数据信息的,由于该库中存在大量视图及存储过程,从而实现快速查看。
2.以行的方式显示
mysql> show databases \G;
该显示方式对于数据库较多的情况下以更加人性化的方式显示,\G参数可用于大多数命令集,例如show create、show select .....
3.在shell中查看
mysql -e 后面直接跟SQL语句,这种非交互方式通常应用在脚本当中。
例:[root@Centos4 ~]# mysql -e 'show databases' -uroot -p123456 //后面跟用户名及密码,用该身份访问。
二、创建数据库
语法:create database 数据库名;
创建数据库的语法结构非常简单,但需要注意以下四点:
1.在文件系统中,数据库的存取是以目录方式表示,因此数据库的名字必须要求与系统约束目录一致。
2.遵从目录约束
3.数据库名称不允许超过64个字符。包好特殊字符的名字必须有反撇号`` 括起来。
4.数据库不允许重名
例1:mysql> create database test01;
Query OK, 1 row affected (0.00 sec)
例2:mysql> create database `test-02`;
Query OK, 1 row affected (0.00 sec)
查看目录结构(我mysql数据存放的位置如下)
三、选择、查看、切换数据库
1.当需要切换数据库时,可以用到use命令+数据库名称;
mysql> use test01;
Database changed
2.当需要查看自己当前所在位置时,需要用到 database()函数。
mysql> select database();
+------------+
| database() |
+------------+
| test01 |
+------------+
1 row in set (0.00 sec)
3.我们也可以直接在shell界面中直接选择我们需要进入的数据库
[root@Centos4 ~]# mysql -uroot -p123456 test01;
//以上表示显示当前时间、当前用户、当前数据库
四、删除数据库
1.由于数据库test-02包含特殊字符,因此需要用反撇号括起。
mysql> drop database `test-02`;
Query OK, 0 rows affected (0.00 sec)
当然以上方法在生产环境中并不推荐,可利用mv命令直接移动数据库文件,防止误删除。
[root@Centos4 ~]# mv /usr/local/mysql/data/test01 /tmp //以你们实际的数据库存放位置为准
2.还可以使用 IF EXISTS 子句来避免删除不存在数据库时出现的错误信息(常用语shell脚本中)
无论数据库是否存在,都不会产生报错信息。以上表示如果 test-02 数据库存在,则删除。
当然IF EXISTS子句也可应用在创建表中,if not exists 表示如果不存在则创建。
五、关于表的操作
1.创建表create
语法:create table 数据库名.表名 (字段名 类型,字段名 类型,字段名 类型,.....)
2.查看表 show tables;
3.查看表结构
可使用desc命令查看表的结构(列的各个属性)
4.查看创建表执行了哪些命令
5.在创建表时可以指定表的存储引擎和默认字符集
mysql> create table t2 (id int(30),name char(20),age int(10)) engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.00 sec)
//表示创建一个名叫t2 的表,默认引擎为innodb 字符集为utf-8
6.删除表
语法相对简单,drop table 表名;
mysql> drop table t2;
Query OK, 0 rows affected (0.00 sec)
7.禁止预读表信息
没有禁止前转换数据库会有提示信息
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with –A
解决这个问题可以在登陆mysql的时候添加参数-A
[root@cong11 ~]# mysql -uroot -p123456 -A
mysql> use mysql;
Database changed #发现没有提示信息了
8.修改表名称alter
语法:alter table 表名 rename 新表名;
9.修改表中的字段类型
语法:alter table 表名 modify 要修改的字段名和要修改的类型。
10.修改表中字段类型和字段名称
语法:alter table 表名 change 原字段名 新字段名 新字段类型;
注:change和modify的区别为,change需要对列进行重命名更改列的类型,而modify可以改变类型,此时不需要重命名。
11.在表中添加新的列
语法:alter table 表名 add 字段 字段类型;
12.在指定列后添加字段
语法:alter table 表名 add 新字段 字段类型 after 旧字段;
13.删除表中字段
语法:alter table 表名 drop 字段名;
六、插入字段<记录>insert
语法:insert into 表名 (列名1,列名2,列名3....) values (值1,值2,值3) ;
注意:不写列名表示添加所有列名的值。
也可以一条语句插入多个数据,用逗号分隔
七、查询表中记录select
语法:select * from 数据库.表名称; ##*号表示查看所有列,由于后面没有跟where子句,表示显示所有行。
1.
2.表中内容较多可以使用\G表示以行显示。
3.查询表中某个列的内容,多个列用,逗号分隔
八、删除表中数据(delete)
语法:delete from 表名 [where] 列名=值; (如果不添加where子句将删除所有行)
1.
2.删除age为空的行,需要在where子句后添加 列名 is null; 如果是不为空则是 列名 is not null:
九、更新记录
语法 update 表名 set 列名='新值' [where] + 条件;
如果不添加where子句删选条件,则更新所有age列的值。同理,一条语句更新多条记录,使用逗号分隔。
十、MySQL查询排序
语法:select 列名.... from 表名 order by 要排序的列名 asc或desc;升序/降序(默认升序)
十一、使用and和or进行多条件查询
如上 and表示并且,or表示或。
对于以上关于MySQL有哪些常用的基础语句,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。