数据库MySQL
数据也可以储存在文件中,但是读写数据的速度相对较慢。
数据库操作:
- 创建数据库:create database 数据库名;
- 使用数据库:use 数据库名;
- 显示所有数据库:show databases;
- 删除数据库:drop databases 数据库名;
表操作
- 显示数据库中所有表:show tables;
- 创建数据表:create table 表名(参数 类型 属性 等,参数 类型 属性 等);各个字段用逗号隔开,最但后一个字段结束不能加逗号。
- 删除数据表:drop table 表名;
数据操作
- 大小写不敏感
- select distinct 列名 from 表名;(显示该列所用不重复取值,用于统计分类类型,或显示有哪些分类)
- 不等于使用 <> 或 != 都可以;
- 字符串字段使用单引号
- 使用圆括号()来组成复杂的表达式;
- select * from 表名 where like 字符串; 中使用的通配符
1.%,代表0个或多个字符;
2._,代表1个字符;
3.[REGEXP] 或 [NOT REGEXP]之后接正则表达式,进行正则表达式匹配;
-
where 列名 in (value,value) ;搜索多个值
-
where 列名 between value1 and value2 ;获取介于两者之间的数据(前可加not取反)
-
as 为表或者列起一个别名
-
concat(列名, ', ', 列名, ', ', 列名) AS info;合并多个列为一列起别名
-
join用于把来自两个或多个表的记录行连接起来,内连接,左连接,右连接,全连接意义用交集,左表和交集并,右表和交集并,并集
-
union合并多个select结果集,列数不变,行数增加,对应列的数据类型必须相同
-
MySQL不支持select into(复制数据表) 语句但可以使用 Create table Table2 (Select * from Table1) 语句代替它的作用;
怎么实现复制到另外一个数据库????? -
各个数据库数据类型有所不同;对于MySQL常用数据类型有:
1.into(size) 整数 size规定最大位数;
2.float(size,d) 浮点型 size 规定最大位数,d规定小数点右侧的最大位数
3.char(size) 固定大小字符串
4.varchar(size) 可变大小字符串
5.date() 时间 -
字段 constraint(约束)包括:
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。
DEFAULT - 规定没有给列赋值时的默认值。 -
创建表时添加约束(字段名 类型(长度) 约束1 约束2,……);
-
更改字段 UNIQUE 约束;
添加 - ALTER TABLE 表名 ADD UNIQUE (列名);
删除 - ALTER TABLE 表名 DROP index 列名; -
主键(PRIMARY KEY)唯一标识某条记录,每个表必须有且仅有一个主键;
-
定义多列综合约束,创建表时在字段名最后添加
CONSTRAINT 新名称 约束类型 (列名1,列名2)
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
表中只有一个主键 pk_PersonID ,值是由两个列(P_Id 和 LastName)共同起作用的组成的 -
改变主键属性:
添加
ALTER TABLE 表名 ADD PRIMARY KEY (列名);
ALTER TABLE 表名 ADD CONSTRAINT 新主键名 PRIMARY KEY (列名1,列名2);
删除- ALTER TABLE 表名 DROP PRIMARY KEY; -
外键:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY,FOREIGN KEY 约束用于预防破坏表之间连接,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它的值必须是指向的那个表中的值之一。
创建表时 - 在字段名最后加 foreign key (表1字段名) references 表2名 (表2字段名);
添加 - ALTER TABLE 表1名 ADD FOREIGN KEY (表1字段名) REFERENCES 表2名 (表2字段名);
删除 - ALTER TABLE 表名 DROP FOREIGN KEY 字段名;报错???
- create index 创建索引:用什么用处???
- truncate table 表名;清空表内容
- 视图view作用??
- 测试空值,用is null 或is not null;
</br>
</br>
</br>
</br