mysql操作学习之创建库创建表的实例讲解
程序员文章站
2022-05-28 20:05:34
创建库
create database [ if not exists ] `库名`;
创建数据表
create table [ if not exists ] `表名`(
`字...
创建库
create database [ if not exists ] `库名`;
创建数据表
create table [ if not exists ] `表名`( `字段名` 数据类型 数据属性, `字段名` 数据类型 数据属性, `字段名` 数据类型 数据属性, ... `字段名` 数据类型 数据属性 (最后一个字段分隔符, 不能加) )engine=数据库引擎 default charset=编码类型;
数据属性:
1. 主键索引 primary key(唯一,一张表推荐一个主键)
2. 唯一索引 unique(唯一)
主要目的 : 避免数据重复 , 附带提高查询速度
缺点 : 占用磁盘空间
3. 自增 auto_increment
4. 非空约束not null (不能为空)
5. 默认值 default 值 注: 数据属性不写, 默认为 null
6. 描述 comment '描述内容'
7. 无符号 unsigned(非负限定 ,即不能取负值) 取值范围 0–255
数据表(示例–用户信息表)
create table if not exists `user_info`( `id` int auto_increment primary key comment '用户id [自增 |主键]', `name` varchar(30) not null comment '用户名[不能为空]', `password` char(32) not null comment '密码[不能为空]', `sex` tinyint(1) default 1 comment '性别 1-男 2-女[默认为1]', `email` varchar(50) comment '邮箱', `tel` char(11) not null unique comment '电话[唯一]', `address` varchar(255) comment '住址', `birthday` date comment '生日', `status` tinyint(1) default 1 comment '状态 1-激活 2-禁用', `regtime` int not null comment '注册时间' )engine=innodb default charset=utf8;
删除一张表
---- drop 删结构; ---- delete 删数据; -- delete from `表名`; delete from `user`; -- drop table `表名` ; drop table `user`;
查看表结构
desc `表名`;
查看建表语句
show create table `表名`;
插入数据
-- insert into `表名` values(所有的字段值); -- insert into `表名`(指定的字段名) values (对应的字段值),(),(),....;
更新数据
-- update `表名` set `字段名1` = '值1', `字段名2` = '值2',...; update `user` set `sex` = 2; -- update 表名 set 字段名1 = 字段值1, 字段名2 = 字段值2, ... where 条件表达式 update `user` set `sex` = 1 where `status` = 2;
查询公式
select 字段名 [from 表名] [where 条件表达式] [group by 字段名] [having 条件表达式] [order by 字段名] [limit 下标, 行数] -- 查询表中所有的数据 select * (注意点: 能不用*则不用, 影响性能) from `user`; -- 带条件查询 select `name , sex ` from `user` where `id`=1; -- is null select name from user where address='洛阳'; -- between 范围查询 select name from uaer where id between 1 ,10; #查询出id为1-10的数据 select name from uaer where id between 1 and 10; #查询出id为1 和 10的数据 -- like 模糊搜索 select name from user where name like "%亮"; # 值结尾为 亮 select name from user where name like "%亮%"; # 值包含 亮 select name from user where name like "%亮%"; # 值开头为 亮 -- in 范围判断 in_array select id, name from user where id in(1,2,3);
聚合函数(不建议使用函数)
-- count 统计总个数 select count(`id`) from `user`; -- sum 求和 select sum(`id`) from `user`; -- max 最大 -- min 最小 select max(`id`) from `user`; -- avg 平均值 select avg(`id`) from `user`; -- 字符串拼接 select concat(`id`, '------', `name`, '-------------------', `tel`) from `user`; select now() select unix_timestamp() select version()
数据表引擎 myisam 和 innodb 区别
myisam 和 innodb 1. curd 增删改查 m: 在执行大量的查询操作, 推荐myisam i: 在执行大量的增删改操作, 推荐innodb 2. 事务 m: 不支持, 追求的效率 i: 支持, 追求的功能, 其他的高级数据库 3. 全文索引 fulltext m: 支持 i: 不支持, 通过第三方技术, sphinx 4. 表总行数 m: 存储总行数 , 通过count直接获取总行数 i: 没有存储总行数, 通过count一行一行的遍历, 非常消耗资源 注意点: 如果统计总行数时, 带了条件, 那么两个引擎毫无区别, 都是一行一行统计. 5. 行锁, 表锁 m: 支持表锁 i: 支持表锁 和 行锁(默认)
下一篇: PHP核心技术与最佳实践
推荐阅读
-
mysql操作学习之创建库创建表的实例讲解
-
mysql数据库表的创建以及字段的增删改查操作及一些常用的查询命令介绍
-
SQL操作数据库学习之创建数据表、查看表结构、修改表结构及重命名表讲解
-
Oracle数据库学习之约束的创建与管理(修改约束)实例讲解
-
数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据
-
mysql/mariadb学习记录——创建删除数据库、表的基本命令
-
Oracle数据库学习之表的创建与使用(修改表结构)不建议使用
-
Oracle数据库知识学习:表的创建与使用(表的删除、闪回技术)实例
-
Oracle数据库初学之表的创建与使用(截断表、复制表)实例讲解
-
MYSQL入门学习之八:数据库及表的基本操作_MySQL