【学习之路】MySQL(2)

来源:互联网 发布:1080p网络摄像头 编辑:程序博客网 时间:2024/04/30 05:29

看完上篇博客之后,应该MySQL的开发环境都配置好了,现在入正题,学习下MySQL的用法

一、MySQL的语句规范

(1)关键字与函数名称是要全部大写的,例如 SHOW、ALTER、

(2)数据名称,字段名称,表名称是要全部小写的

(3)SQL语句必须以英文分号 ; 结尾

ps:不知道关键字、字段名称等等的没关系,先记住,迟点涉及到这些名称的会提醒


二、对数据进行操作(通俗的说,就是找到对应仓库(数据库),对应货架(数据表),对应数据(货物)才能处理)

1、关于数据库

显示当前服务器下的数据库的SQL语句:SHOW DATABASES

若出现这种情况

这时就需要更改一下密码,直接输入

mysql>SET PASSWORD = PASSWORD("新密码”);

就重新设置密码了

然后重新打开cmd,用新密码登录账户,然后

(1)显示当前服务器下的数据库的SQL语句:SHOW DATABASES;

如图所示的四个数据库是默认存在的数据库

(2)如何创建一个数据库呢,SQL语句:CREATE DATABASE 数据库名 【 DEFAULT】 CHARACTER SET  = 字符集名; //其中【】意思是可有可无,常用字符集UTF8


这时再用SHOW DATABASES就看到多了一行了


(3)如果对所创建的数据库不满意,还可以通过SQL语句:ALTER DATABASE 再加上相关语句对数据库进行改动,例如改动字符集或改名等等,

一般不建议改名,因为如果其中的数据被引用的时候,改名可能会导致出错

(4)也可以通过SQL语句;DROP DATABASE 数据库名;

来删除不想要的数据库


2、关于数据表

确定好数据库后,就要操作数据表了

(1)先用关键字use来打开指定数据库

(2)创建数据表,SQL语句:

CREATE TABLE 表名(

               列名  数据类型,

               列名  数据类型,

               ……

               列名  数据类型

);

ps:记得用逗号隔开,至于数据类型,写到数据方面的时候会具体说

(3)查看数据表列表,SQL语句:SHOW TABLES 【FROM 数据库名称】

(4)查看数据表结构,SQL语句:SHOW COLUMNS FROM 表名;


(5)对表结构的一些解释

a.空值与非空:NULL——字段值可以为空;NOT NULL——字段值不可以为空

b.约束(key):这个有点复杂,下面详细讲

c.默认值(Default):当插入记录时,如果没有为字段赋值,则自动赋予默认值

(6)修改数据表

a.添加单列,SQL语句:ALTER TABLE 表名 ADD 列名 列定义【FIRST|AFTER 列名】;

b.添加多列,SQL语句:ALTER TABLE 表名 ADD (列名 列定义,列名 列定义,……);

c.删除列,SQL语句:ALTER TABLE 表名 DROP 列名;

d.修改列定义,SQL语句:ALTER TABLE 表名 MODIFY 列名 列定义【FIRST|AFTER 列名】;

e.修改列名称,SQL语句:ALTER TABLE 表名 CHANGE 旧列名  新列名 列定义【FIRST|AFTER 列名】;

f. 数据表改名:方法一:ALTER TABLE 表名 RENAME 【TO/AS】新表名;

                           方法二:RENAME TABLE 表名 TO 新表名【,表名 TO 新表名……】;


(7)约束:

a.约束,有条件限制的意思,可以保证数据的完整性和一致性

b.约束类型:

         1、PRIMARY KEY constraint(主键约束)   —— 一张数据表只存在一个主键,并且不允许为空(默认)。保证记录的唯一性,要求主键列唯一

                                                                                                 例如id,每个人的名字,年龄等都可以完全相同,但id不一样,就可通过id来辨识不同人。

                                                                                                        

         2、UNIQUE constraint(唯一约束)   —— 一张表可以存在多个唯一约束,允许为空,但只能出现一个空值。保证记录的唯一性,要求约束列唯一

         3、FOREIGN KEY constraint(外键约束) —— 用于在两个表之间建立关系(实现一对一,一对多的关系),需要指定引用主表的哪一列

                                                                                                傲娇的要求:

                                                                                               (1)、父表和子表必须使用同样的存储引擎InnoDB(存储引擎后面会讲)

                                                                                               (2)、外键列和参照列必须有相似的数据类型

          4、DEFAULT constraint(默认约束)   —— 某列的默认值,如在数据库里有一项数据很多重复,可以设为默认值。

          5、NOT NULL(非空约束) ——指定某列不为空


ps:给id加上主键约束,name添加唯一约束,age添加默认约束,score添加非空约束,grade添加外键约束与表follow联系在一起,表follow中的grade添加主键

其中主键id出现 的AUTO_INCREMENT可以自动从1开始赋值,每次加一,且一定要与主键一起使用,但是主键不一定与AUTO_increment一起使用。


下一篇:如何深入理解主键约束与外键约束及其他操作



0 0
原创粉丝点击