美文网首页
MySQL-3表操作

MySQL-3表操作

作者: 金克拉拉拉拉 | 来源:发表于2017-11-15 09:15 被阅读0次

表和字段是密不可分的

1.创建表

--1.显式指定所属数据库

create table if not exists 数据库名.表名(

字段名  数据类型,

字段名  数据类型

)[表选项];

其中 if not exists 如果表名不存在,那么就创建,否则不执行创建代码,带有检查功能

表选项:控制表的表现

            字符集:charset/character set 具体字符集 ;-- 保证表中存储的字符集

            校对集:collate 具体校对集

            存储引擎:engine 具体的存储引擎(innodb和myisam)

--2.隐式的指定表所属数据库:先进入到某个数据库环境,然后这样创建的表自动归属到某个指定数据库

use 数据库名称;

create table 表名(

name varchar(20),

room varchar(20)

)charset utf8;

2.查看数据表

--1.查看全部表

show tables

--2.模糊匹配表

show tables like ‘xxxxx’;

--3.匹配以s结尾的表

show tables like '%s';

--4查看表创建语句

show  create table 表名

show create table students;

--5.查看表结构

desc 表名;

describe 表名;

show columns from 表名;

3.修改数据表

alter table 表名 add / change / drop 列名 类型;

alter table students add birthday datetime;

--1.修改表本身 

表名修改

rename table 老表名 to 新表名

表选项修改 (字符集 校对集 存储引擎)

alter table 表名 表选项 = xxx

--2.修改字段

新增字段

alter table 表名 add [column] 字段名 数据类型 [列属性][位置];

alter table info_student add column id int first;                                           

修改字段(修改通常是修改属性或者数据类型)

alter table 表名 modify 字段名 数据类型 [属性][位置]

alter table info_student modify id char(10) after age;

--3.删除字段

alter table 表名 drop 字段名;

--4.删除数据表

drop table 表名1,表名2.。。。;

4.数据操作

--1.新增数据 两种方案

方案一。给全表字段插入数据,不需要指定字段列表,但是数据的值出现的顺序必须与表中的设计的字段出现的顺序一致,凡事飞数值数据,都需要使用引号(建议单引号)包裹

insert into 表名 values (值列表),(值列表),(值列表)........;

insert into stu_info values ('jim',18,001);

方案二。给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是值列表的顺序必须与选定的字段的顺序一直

insert into 表名 (字段列表) values (值列表),(值列表)........;

insert into stu_info (name,age) values ('haha1',1),('haha2',2),('haha3',3);

5.查看数据

--1.查看全部记录

select * from 表名;

select * from stu_info;

--2.查看指定字段

select 字段列表 from stu_info;

select age from stu_info; select age name from stu_info;

--3.查看指定字段指定条件

select 字段列表 from 表名 where 条件 and / or 条件 ,and / or 条件,and / or 条件.........;

--4.排序查找

select 字段列表 from 表名 order by 字段;

select (age) from stu_info order by age; select * from sut_info order by age;

其中order by 排序依赖条件 依赖校对集

6.更新字段

update 表名 set 字段 = 值 [where 条件];建议都带where 否则会出现全部更新的尴尬

update stu_info set name = "foo"; update stu_info set name = "haha" where age = 18;

7.删除数据 (删除不可逆,操作需谨慎)

delete from 表名 where 条件;

delete from stu_info where age = 18;

8.中文数据问题

中文数据问题 本质是字符集问题,

查看服务器默认的对外处理的字符集

show variables like 'character_set%'

show variables like 'character_set%'

客户端数据只能是GBK 而服务器认为是UTF-8 需要改变服务器接受字符集为GBK:

修改服务器认为的客户端的字符集为GBK

set character_set_client = gbk;

快捷设置字符集

set names gbk;

相应的 character_set_client ,character_set_nconnection,character_set_results 都会改变

9.校对集(数据比较的方式)

_bin :binary  二进制比较,取出二进制位 ,从左向右 按位比较,可用于ASCII码比较,区分大小写

_cs:case sensitive 大小写敏感 

_ci:case insensitive 大小写不敏感

查看数据库支持的校对集

show collation;

只有当数据产生比较时 order by,校对集才会生效

相同的 校对集的设置必须在生成表时设置,若有数据后 设置校对集 则无效

alter table my_collate_ci collate = utf8_bin; 

相关文章

  • MySQL-3表操作

    表和字段是密不可分的 1.创建表 --1.显式指定所属数据库 create table if not exists...

  • (七).Linux下使用mysql-3(表操作)

    数据操作->插入数据 方法一: 方法二: 例如: 数据操作->更新数据 例如: 数据操作->删除数据 例如: 修改...

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • 表操作

    1、创建表(DDL) CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_n...

  • 表操作

    创建表 关键字:CREATE TABLE。 如: CREATE TABLE 后跟的是表名,() 中是列名,列的数据...

  • 表操作

    选择表 -- select Sheets(2).selectSheets("2月").SelectSheet2.s...

  • 操作表

    名称:走(走路) 1.介绍工作名称“我今天要示范的工作是走路请大家仔细观察。 2,准备动作:抬头挺胸,双手自然下垂...

  • Oracle基础总结

    Oracle开发基础重点 Oracle一般操作 表空间 用户 表 表数据 Oracle 查询操作 单表查询 多表查...

  • Django 多对对关系ManyToManyField对象数据查

    角色表 操作表 添加 查询

  • 记录一次简单的性能优化

    需求 有个简单的需求,查询操作记录。涉及两张表:1).操作记录表 2).用户表 操作记录表有50w ~ 100w条...

网友评论

      本文标题:MySQL-3表操作

      本文链接:https://www.haomeiwen.com/subject/mnnzmxtx.html