这句sql语句什么意思 row_id int(10) unsigned NOT NULL AUTO_INCREMENT
时间: 2024-04-27 19:24:28 浏览: 195
这条SQL语句用来创建一个名为row_id的列,该列是一个unsigned integer类型,占用10个字符的空间,不能为NULL(NOT NULL),并且自动递增(AUTO_INCREMENT),也就是说,每次插入数据时,该列的值会自动递增。这种设置通常用于作为主键列,以确保每行数据都具有唯一的标识符。
相关问题
用laravel编写如下要求: 1.创建以自己姓名拼音缩写为名的数据库,创建n+自己班级序号(如n10)为名的数据表。 2.表结构为3列:第1列列名为id,设为主键、自增;第2列列名为name;第3列自拟。 3.为数据表创建模型,编写相应的路由、控制器和视图,视图中用无序列表(ul 标签)呈现数据表name列所有数据。 4.创建视图,在表单中提供两个文本框,第一个文本框用于输入以上数据表id列相应数值,以post方式提交表单。 5.控制器方法根据表单提交的id值,将相应行的name列修改为第二个文本框中输入的数据。
首先,需要在数据库中创建以自己姓名拼音缩写为名的数据库,并创建n+自己班级序号(如n10)为名的数据表。可以使用以下 SQL 语句:
```
CREATE DATABASE IF NOT EXISTS your_name DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE your_name;
CREATE TABLE IF NOT EXISTS n10 (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
然后,需要创建相应的模型,可以使用以下命令:
```
php artisan make:model N10
```
接着,可以编写相应的路由、控制器和视图。在 `routes/web.php` 文件中添加以下路由:
```
Route::get('/n10', 'N10Controller@index');
Route::post('/n10/update', 'N10Controller@update');
```
在 `app/Http/Controllers` 目录下创建 `N10Controller.php` 文件,包含以下代码:
```php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\N10;
class N10Controller extends Controller
{
public function index()
{
$data = N10::all();
return view('n10.index', ['data' => $data]);
}
public function update(Request $request)
{
$id = $request->input('id');
$name = $request->input('name');
$row = N10::find($id);
$row->name = $name;
$row->save();
return redirect('/n10');
}
}
```
在 `resources/views` 目录下创建 `n10/index.blade.php` 文件,包含以下代码:
```html
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">N10</div>
<div class="card-body">
<ul>
@foreach ($data as $item)
<li>{{ $item->name }}</li>
@endforeach
</ul>
</div>
</div>
<div class="card mt-4">
<div class="card-header">Update</div>
<div class="card-body">
<form method="POST" action="{{ url('/n10/update') }}">
@csrf
<div class="form-group row">
<label for="id" class="col-md-4 col-form-label text-md-right">ID</label>
<div class="col-md-6">
<input id="id" type="text" class="form-control @error('id') is-invalid @enderror" name="id" value="{{ old('id') }}" required autocomplete="id" autofocus>
@error('id')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">Name</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name">
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary">
Update
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
```
最后,在命令行中执行以下命令启动服务器:
```
php artisan serve
```
然后在浏览器中访问 `http://localhost:8000/n10` 即可查看数据。在表单中输入相应的 id 和 name,点击 Update 按钮即可修改相关数据。
数据库 CMS,表结构 i. 学生:学号(非负整数,自增,主关键字),姓名(10个 字符),专业(20个字符) ii. 课程:课程号(非负整数,自增,主关键字),课程名 (30个字符),任课教师(10个字符) iii. 学生—课程:学号(非负整数),课程号(非负整数): c) 编写 PHP 网页,实现如下功能: i. 输入学号,以 Ajax 方式从服务器获取学生姓名和专业 ii. 如果该学生存在,点击查询按钮,可以表格方式显示其所 选的全部课程。 学生 课程学生—课程
表可以通过以下 SQL 语句创建:
```
CREATE TABLE `学生` (
`学号` int(10) unsigned NOT NULL AUTO_INCREMENT,
`姓名` varchar(10) NOT NULL,
`专业` varchar(20) NOT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `课程` (
`课程号` int(10) unsigned NOT NULL AUTO_INCREMENT,
`课程名` varchar(30) NOT NULL,
`任课教师` varchar(10) NOT NULL,
PRIMARY KEY (`课程号`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `学生-课程` (
`学号` int(10) unsigned NOT NULL,
`课程号` int(10) unsigned NOT NULL,
PRIMARY KEY (`学号`,`课程号`),
CONSTRAINT `fk_学号` FOREIGN KEY (`学号`) REFERENCES `学生` (`学号`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `fk_课程号` FOREIGN KEY (`课程号`) REFERENCES `课程` (`课程号`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
下面是实现功能的 PHP 代码:
```php
<?php
// 连接数据库的代码
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 获取学生姓名和专业信息的代码
if(isset($_GET['学号'])) {
$学号 = $_GET['学号'];
$sql = "SELECT 姓名, 专业 FROM 学生 WHERE 学号=$学号";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$姓名 = $row["姓名"];
$专业 = $row["专业"];
echo "姓名: $姓名; 专业: $专业";
} else {
echo "该学生不存在";
}
}
// 显示选课信息的代码
if(isset($_POST['学号'])) {
$学号 = $_POST['学号'];
$sql = "SELECT 课程名, 任课教师 FROM 课程 WHERE 课程号 IN (
SELECT 课程号 FROM `学生-课程` WHERE 学号=$学号)";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>课程名</th><th>任课教师</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["课程名"] . "</td><td>" . $row["任课教师"] . "</td></tr>";
}
echo "</table>";
} else {
echo "该学生未选择任何课程";
}
}
$conn->close();
?>
```
使用 Ajax 方式获取学生信息的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询学生信息</title>
<script>
function showInfo(str) {
if (str == "") {
document.getElementById("info").innerHTML = "";
return;
}
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("info").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "getinfo.php?学号=" + str, true);
xmlhttp.send();
}
</script>
</head>
<body>
<form>
<label for="学号">学号:</label>
<input type="text" id="学号" name="学号" onkeyup="showInfo(this.value)">
</form>
<div id="info"></div>
</body>
</html>
```
查询学生选课信息的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询学生选课信息</title>
</head>
<body>
<form method="post" action="">
<label for="学号">学号:</label>
<input type="text" id="学号" name="学号">
<input type="submit" value="查询">
</form>
<div id="table">
<?php include 'getinfo.php'; ?>
</div>
</body>
</html>
```
阅读全文