快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

mysql怎么表的定义 mysql怎么写表

mysql中,如何创建一个表,并加一条数据?

1、使用 create table 语句可完成对表的创建, create table 的创建形式:

创新互联-专业网站定制、快速模板网站建设、高性价比云安网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式云安网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖云安地区。费用合理售后完善,十年实体公司更值得信赖。

create table 表名称(列声明);

以创建 people 表为例, 表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age) 这些内容:

create table people(

id int unsigned not null auto_increment primary key,

name char(8) not null,

sex char(4) not null,

age tinyint unsigned not null

);

其中,auto_increment就可以使Int类型的id字段每次自增1。

2、向表中插入数据使用insert 语句。

insert 语句可以用来将一行或多行数据插到数据库表中, 使用的一般形式如下:

insert [into] 表名 [(列名1, 列名2, 列名3, ...)] values (值1, 值2, 值3, ...);

其中 [] 内的内容是可选的, 例如, 要给上步中创建的people 表插入一条记录, 执行语句:

insert into people(name,sex,age) values( "张三", "男", 21 );

3、想要查询是否插入成功,可以通过select 查询语句。形式如下:

select * from people;

扩展资料:

当mysql大批量插入数据的时候使用insert into就会变的非常慢, mysql提高insert into 插入速度的方法有三种:

1、第一种插入提速方法:

如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M

举例:bulk_insert_buffer_size=100M;

2、第二种mysql插入提速方法:

改写所有 insert into 语句为 insert delayed into

这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。

3、第三个方法: 一次插入多条数据:

insert中插入多条数据,举例:

insert into table values('11','11'),('22','22'),('33','33')...;

怎么在mysql中创建表创建数据

创建MySQL数据表需要以下信息:

表名

表字段名

定义每个表字段

语法:

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:

runoob_tbl(

runoob_id INT NOT NULL AUTO_INCREMENT,

runoob_title VARCHAR(100) NOT NULL,

runoob_author VARCHAR(40) NOT NULL,

submission_date DATE,

PRIMARY KEY ( runoob_id )

);

注意

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

通过命令提示符创建表

通过 mysql 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。

实例

以下为创建数据表 runoob_tbl 实例:

root@host# mysql -u root -p

Enter password:*******

mysql use RUNOOB;

Database changed

mysql CREATE TABLE runoob_tbl(

- runoob_id INT NOT NULL AUTO_INCREMENT,

- runoob_title VARCHAR(100) NOT NULL,

- runoob_author VARCHAR(40) NOT NULL,

- submission_date DATE,

- PRIMARY KEY ( runoob_id )

- );

Query OK, 0 rows affected (0.16 sec)

mysql

注意:MySQL命令终止符为分号 (;) 。

使用PHP脚本创建数据表

你可以使用PHP的 mysql_query() 函数来创建已存在数据库的数据表。

该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

语法

bool mysql_query( sql, connection );

sql     必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。  

connection    可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。  

实例

以下实例使用了PHP脚本来创建数据表:

html

head

meta charset="utf-8" 

title创建 MySQL 数据表/title

/head

body

?php

$dbhost = 'localhost:3036';

$dbuser = 'root';

$dbpass = 'rootpassword';

$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('连接失败: ' . mysql_error());

}

echo '连接成功br /';

$sql = "CREATE TABLE runoob_tbl( ".

"runoob_id INT NOT NULL AUTO_INCREMENT, ".

"runoob_title VARCHAR(100) NOT NULL, ".

"runoob_author VARCHAR(40) NOT NULL, ".

"submission_date DATE, ".

"PRIMARY KEY ( runoob_id )); ";

mysql_select_db( 'RUNOOB' );

$retval = mysql_query( $sql, $conn );

if(! $retval )

{

die('数据表创建失败: ' . mysql_error());

}

echo "数据表创建成功\n";

mysql_close($conn);

?

/body

/html

mysql 利用查询来实现表的定义与数据插入

JDBC操作MySQL数据库的步骤

1、准备MySQL数据库驱动包:mysql-connector-java-5.0.8-bin.jar,一个项目中只能存在一个版本的驱动包

a、复制该驱动包,粘贴到项目中

b、选中项目里的驱动包,右键-Build Path-Add to Build Path

2、在类里写代码加载驱:决定连接哪种数据库

a、Class.forName("com.mysql.jdbc.Driver");

b、必须进行异常处理:ClassNotFoundException

3、连接数据库

a、Connection con=DriverManager.getConnection("连接字符串", "用户名", "密码");

b、连接字符串格式固定,不同数据库,格式不同:jdbc:mysql://要连接的计算机名称:端口号/要连接的数据库名称

c、必须进行异常处理:SQLException

4、拼写要执行的sql语句,必须是可以在数据库中执行的

5、创建执行sql语句的对象

a、Statement stmt=con.createStatement();

b、注意:Statement必须来自于java.sql包中

6、执行sql语句

a、执行insert、update和delete语句:int row=stmt.executeUpdate(sql);返回影响行数

b、执行查询语句:ResultSet rs=stmt.executeQuery(sql);返回查询结果

c、执行任意sql语句(DDL、DCL、DML和DQL等)

7、对执行结果进行处理

a、执行更新语句:判断影响行数是否为0,0表示失败,非0表示成功

b、对查询结果进行处理:

1) 结果集需要先移动、后取值 :rs.next();int id=rs.getInt(1);

String name=rs.getString("loginName");

2) 结果集有多条时,需要循环操作:

while(rs.next()){ System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5));

}

3) 不确定是否有查询结果时:if(rs.next()){说明有查询结果}else{没有查询结果}

4) 使用了聚合函数,一定有查询结果,查询结果是一行一列:

rs.next();

int result=rs.getInt(1);

注意:结果集取值时取出的时查询语句中包含的字段,与表中字段无关

9、关闭相关对象(先关闭结果集对象、在关闭执行语句对象,最后关闭连接对象)

例如:执行查询语句

Scanner input=new Scanner(System.in);

System.out.print("请输入登录名: ");

String name=input.next();

System.out.print("请输入密码: ");

String pass=input.next();

try {

Class.forName("com.mysql.jdbc.Driver");

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");

String sql="select COUNT(*) from UserInfo where loginName='"+name+"' and loginPass='"+pass+"'";

Statement stmt=con.createStatement();

ResultSet rs=stmt.executeQuery(sql);

rs.next();

int result=rs.getInt(1);

if(result!=0){

System.out.println("登录成功!");

}else{

System.out.println("用户名或密码错误,请重新登录!");

}

rs.close();

stmt.close();

con.close();

} catch (ClassNotFoundException e) {

System.out.println("加载驱动错误:"+e.getMessage());

} catch (SQLException e) {

System.out.println("数据库操作错误:"+e.getMessage());

}

执行添加、修改和删除语句

try {

//加载驱动

Class.forName("com.mysql.jdbc.Driver");

//连接数据库

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb", "root", "root");

//拼写要执行的sql语句

String sql="update UserInfo set loginPass='111' where loginName='a'";

//String sql="insert UserInfo values(default,'test','test')";

//String sql="delete from UserInfo where loginName='a'";

//创建执行语句对象

Statement stmt=con.createStatement();

//执行

int row=stmt.executeUpdate(sql);

//处理结果

if(row==0){

System.out.println("修改失败!");

}else{

System.out.println("修改成功!");

}

//关闭

stmt.close();

con.close();

} catch (ClassNotFoundException e) {

System.out.println("驱动加载错误:"+e.getMessage());

} catch (SQLException e) {

System.out.println("数据库操作错误:"+e.getMessage());

}


本文题目:mysql怎么表的定义 mysql怎么写表
URL分享:http://6mz.cn/article/ddegdsd.html

其他资讯