命名规则
和python中的标识符命名规则一样,应当使用数字,字母,下划线作为数据库名,表名,列名的命名,其中,数字不能作为开头,也不应当出现奇怪的特殊字符。
需要注意的是,和python不同的地方在于,mysql默认是区分大小写的,但是在某些系统或者软件中mysql的标识符可能不区分大小写,而且你也可以通过设置配置文件,将mysql设置为不区分大小写,因此,mysql是否区分大小写是不一定的,你需要自己试一试,或者自己修改配置文件。
为了避免冲突,同一数据库中不可以有重名表,同一表中不可以有重名列。
一般来说,为了能够更好的区分表名和列名,建议写sql语句的时候,可以把表名的首字母大写。当然,这只是一个良好的建议,并非必须要遵守。但是这个建议在mysql中又可能会出现一些由于大小写敏感造成的通用性问题,因此,如果这样做的话,建议还是要修改配置文件,将mysql设置为大小写不敏感。
当然,还有一个更好的办法,就是不要遵守这项约定,在写表名的时候也使用小写。总之,在这个问题上,是否使用大小写是各有利弊的。看你自己怎么取舍。
注释
单行注释?--
多行注释?/* */
注释的作用,无需再多解释了,虽然很多时候你也不一定会用到写注释。但是你还是应该清楚,如何在sql中添加注释。
数据库操作
注意:有的语句在mysql中不用添加分号,也可以正常执行。不过为了保持一致性,我们不具体区分哪些语句可以没有分号。
1,查看当前所有的数据库
show databases;
2,创建数据库
create database <数据库名>;
3,使用数据库
use <数据库名>;
4,查看当前正在使用的数据库
select database();
5,删除数据库(注意,该操作需要谨慎,随意删除他人数据库会被追究法律责任)
drop database <数据库名>;
6,查询数据库的创建语句
show create database <数据库名>;
?这里,我们创建一个数据库test
create database test;
show databases;
use test;
select database();
数据表的创建
1,查看当前数据库中所有的数据表(需要先选择一个数据库)
show tables;
2,创建数据表
create table <数据表名>(
? ? <字段名称1>?<数据类型> <约束条件>,
? ? <字段名称2> <数据类型> <约束条件>,
? ? …
? ? <表的约束条件1>, <表的约束条件2>…
);
关于数据类型和约束条件,这里我们并不打算详细的说明,只简单介绍几种,以至于我们此时可以使用数据表即可。
数据类型
整数 int, bit 小数 decimal 字符串 varchar,char 日期时间 date, time, datetime 枚举 enum
约束条件
主键 primary key 物理上存储的顺序,一般表的主键都叫做id或者_id 非空 not null 此字段不允许为空 唯一 unique 此字段不能重复 默认 default 此字段可以使用默认值 外键 foreign key 在关系的表中查询值是否存在?
有了这些基本的介绍,我们就可以尝试创建一个数据表了?
create table Student(
id int not null auto_increment,
name varchar(30) not null,
age tinyint unsigned default 0,
gender enum ('男', '女', '不便透露'),
primary key (id)
);
数据表的修改
1,数据表的删除(注意,要谨慎使用,误删通过正常手段无法恢复)
drop table <表名>;
2,向已有表中添加列(由于mysql的规则不严格,因此不写column的效果也是一样的)
alter table <表名> add column <列的定义>;
3,删除已有表中的列(不写column也是可以的)
alter table <表名> drop column <列名>;
4,修改表中某字段的字段类型和约束条件
alter table <表名> modify <列名> <类型> <约束>;
5,修改表中某字段的名字及字段类型和约束条件
alter table <表名> change <旧列名> <新列名> <类型> <约束>;
6,修改表的名字
rename table <旧表名> to <新表名>;
7,查看表的创建语句
show create table <表名>;
点击查看瞎老弟mysql系列全部文章
|