当前位置:   article > 正文

常见的sql操作语句_数据库创建表的sql语句

数据库创建表的sql语句

一、数据库常用SQL语句

1、查看有哪些数据库

show databases;

2、创建数据库

create database Testdb;

创建一个名为Testdb的数据库。

3、创建数据库并指定编码格式

有些时候,为了防止中文乱码,创建数据库的时候需要指定编码格式。

create database mydb character set utf8mb4;

4、使用某个数据库

use mydb;

使用mydb这个数据库,或者进入mydb这个数据库。

5、删除数据库

drop database Testdb;

删除Testdb这个数据库。

二、数据表常用SQL语句

1、查看有哪些数据表

进入某个数据库之后,想查看有哪些数据表,SQL语句为:

use mydb;

show tables; 

SHOW COLUMNS FROM table_name; //返回表中某一列

mydb是一个新建的数据库,所以自然是没有数据表。

2、创建数据表

建表SQL语句格式为:

create table <tablename>(

<字段名称> <数据类型>,

<字段名称> <数据类型>,

<字段名称> <数据类型>,

......

);

说明:每个字段以逗号分隔,最后一个字段不加逗号。

例如,给定一个学员信息表,如下表所示。

根据以上表格,建表SQL语句如下。

create table stuInfo(

stuid int unsigned primary key,

stuname varchar(10) not null,

gender varchar(5),

birthdate date,

age int(3),

city varchar(20)

);

以上语句中,primary key表示主键,意思是这个字段作为记录的唯一标识,就像每个人的身份证号,都是唯一确定的。

对于AUTO_INCREMENTPRIMARY KEY(id)的理解

是MySQL数据库中的两个重要概念。

  1. AUTO_INCREMENT这是MySQL中的一个属性,可以应用于某个字段(通常是一个整数类型的字段),以自动递增为该字段生成一个新的值。每当插入一条新的记录时,AUTO_INCREMENT字段的值会自动增加。这个特性在创建主键或唯一索引字段时非常有用,因为它可以确保每个记录都有一个独一无二的标识符。
  2. PRIMARY KEY这是MySQL中的一个约束,用于定义表中的主键。主键是唯一标识数据库表中的每条记录的字段。主键的值在表中必须是唯一的,不能有重复。在创建表时,通常会为主键字段指定PRIMARY KEY约束,以优化查询性能并确保数据的唯一性。

3、查看表结构

查看表结构的SQL命令为:

describe stuinfo;

执行该命令会显示表stuinfo的基本结构,例如有哪些字段,每个字段是什么类型,谁是主键等。

4、修改数据表

修改数据表通过drop子句进行,比如,建完表后,想增加一个字段,SQL语句的格式为:

alter table <tablename> add <column> varchar(20);

想在指定位置增加一个字段,例如,在某个字段后增加一个字段,SQL语句的格式为:

alter table <tablename> add <column> varchar(20) after <column>;

如果在某个字段之前增加字段,用before即可。

例如,在字段age后增加一个字段major(专业),SQL语句为:

alter table stuinfo add major varchar(20) after age;

执行这个命令,再通过describe查看表结构,会发现表中多了一个字段major。

如果要删除major这个字段,通过drop子句,SQL语句为:

alter table stuinfo drop major;

5、重命名表

重命名表通过alter+rename来实现,SQL语句格式为:

alter table <tablename> rename <new_tablename> ;

这里为了不影响之前创建的表,我们创建一个新表,SQL语句如下。

create table stuInfoTest(

stuid int unsigned primary key,

stuname varchar(10)

);

以上创建一个名为stuInfoTest的表,现在想将它的名称改成stuinfotest1,SQL语句为:

alter table stuinfotest rename stuinfotest1;

6、删除数据表

删除数据表通过drop进行,SQL语句格式为:

drop table <tablename>;

例如,删除数据表stuinfotest1,SQL语句为:

drop table stuinfotest1;

7、插入记录

此时的表stuinfo是空的,没有数据,我们要向表中插入记录。

插入记录通过insert into进行,SQL语句格式为:

insert into <tablename>(字段1,字段2,......) values(字段1的值,字段2的值,......);

例如,向表stuinfo插入一条记录,SQL语句为:

insert into stuinfo(stuid,stuname,gender,birthdate,age,city)

values(20161001,'Sunbin','男','1990/1/1',28,'Beijing');

注意:上方是一条SQL语句,为了可读性换行,记住一条SQL语句默认以分号结尾。

如果需要一次性插入多条记录,SQL语句格式为:

insert into <tablename>(字段1,字段2,......) values

(字段1的值,字段2的值,......),

(字段1的值,字段2的值,......),

(字段1的值,字段2的值,......);

例如,向表stuinfo再插入两条记录,SQL语句为:

insert into stuinfo(stuid,stuname,gender,birthdate,age,city)

values(20161002,'Wangwu','女','1991/1/3',19,'Beijing'),

(20161003,'Lisi','男','1990/11/4',21,'Shanghai');

注意:如果设置了主键,插入记录的主键字段是不能重复的,也就是不能插入重复的记录。

8、查询记录

有了数据之后,就可以查询记录了,查询记录通过select子句进行。

例如,想查询表stuinfo中的所有记录,SQL语句为:

select * from stuinfo;

执行之后,就可以看到表stuinfo中的所有记录了。

如果想查询符合某个条件的记录,就要用到where子句了,SQL格式为:

select * from <tablename> where 字段名=某个值;

例如,想查询stuid为20161001的记录,SQL语句为:

select * from stuinfo where stuid=20161001;

9、删除记录

删除记录通过delete子句进行,SQL语句格式为:

delete from <tablename> where 字段名=某个值;

例如,想删除stuid为20161002的记录,SQL语句为:

delete from stuinfo where stuid=20161002;

10、修改记录

修改记录通过update子句进行,update就是更新的意思,SQL语句格式为:

update <tablename> set 字段1=某个值 where 字段2=某个值;

例如,想将学号(stuid)为20161001的记录的姓名(stuname)更新为Jack,SQL语句为:

update stuinfo set stuname='Jack' where stuid=20161001;

三、数据类型

MySQL支持多种数据类型,这些数据类型可以分为三大类:数值、日期和时间以及字符串(字符)类型。以下是MySQL中的一些主要数据类型:

1. 数值数据类型:

    * TINYINT:一个非常小的整数。有符号范围:-128至127;无符号范围:0至255。
    * SMALLINT:一个小的整数。有符号范围:-32768至32767;无符号范围:0至65535。
    * MEDIUMINT:一个中等大小的整数。有符号范围:-8388608至8388607;无符号范围:0至16777215。
    * INT或INTEGER:一个普通大小的整数。有符号范围:-2147483648至2147483647;无符号范围:0至4294967295。
    * BIGINT:一个大的整数。有符号范围:-9223372036854775808至9223372036854775807;无符号范围:0至18446744073709551615。
    * FLOAT:单精度浮点数。
    * DOUBLE双精度浮点数。
    * DECIMAL(或NUMERIC):精确小数,用于存储精确的数值,如货币。

2. 日期和时间数据类型:

    * DATE:日期,格式为 'YYYY-MM-DD'。
    * TIME:时间,格式为 'HH:MM:SS'。
    * DATETIME:日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
    * TIMESTAMP:时间戳,格式为 'YYYY-MM-DD HH:MM:SS',与UNIX时间戳有关。
    * YEAR:年份,可以存储2位或4位的年份表示。

3. 字符串(字符)数据类型:

    * CHAR:定长字符串,长度在1到255之间。
    * VARCHAR:可变长度字符串,长度在1到65535之间。
    * TINYTEXT:非常小的文本字符串,最大长度为255个字符。
    * TEXT:小型文本字符串,最大长度为65535个字符。
    * MEDIUMTEXT:中等大小的文本字符串,最大长度为16777215个字符。
    * LONGTEXT:大型文本字符串,最大长度为4294967295个字符。
    * BINARY:定长二进制字符串。
    * VARBINARY:可变长度二进制字符串。
    * TINYBLOB:非常小的BLOB(二进制大对象),最大长度为255字节。
    * BLOB:小型BLOB(二进制大对象),最大长度为65535字节。
    * MEDIUMBLOB:中等大小的BLOB(二进制大对象),最大长度为16777215字节。
    * LONGBLOB:大型BLOB(二进制大对象),最大长度为4294967295字节。

     注:对于INT ,INT(n)D代表最大整数长度为(n-1)位

四、创建表时修饰参数的属性

1. 引擎(Engine)

指定表的存储引擎,如InnoDB、MyISAM等。

2. 默认字符集(Charset)

指定表的默认字符集。

3. 排序规则(Collation)

指定表的排序规则,用于决定字符串的排序方式。

4. 最大长度(Max_length)

指定字段的最大长度。

5. 注释(Comment)

为字段或表添加注释,以提供额外的说明信息。

6. 字段名(Field)

指定字段的名称。

7. 数据类型(Type)

指定字段的数据类型,如INT、VARCHAR、DATE等。

8. 键约束(Key)

指定字段是否为主键(PRIMARY KEY)、外键(FOREIGN KEY)或其他索引(INDEX)

9. 默认值(Defaults)

指定字段的默认值。

10. 是否为空(Null)

指定字段是否允许为空值。

11. 唯一性约束(Unique)

指定字段是否具有唯一性约束,确保该字段的值在表中是唯一的。

12. 主键约束(Primary key)

将字段设置为主键,用于唯一标识表中的记录。

13. 外键约束(Foreign key)

将字段设置为外键,用于与另一个表建立关联关系。

14. 索引(Index)

为字段创建索引,以提高查询性能。

15. 触发器(Trigger)

指定在表上创建触发器的名称和触发条件。

16. 事件调度器(Event scheduler)

指定表的事件调度器属性,用于定期执行某些操作。

这些属性可以根据实际需求进行组合使用,以创建具有特定要求和性能特点的表。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号