MySQL之创、增、删、改、查

MySQL

Select version();  当前服务器版本

Select database();  查看当前工作数据库

Show databases;   显示所有数据库

Select user(); 或 select current_user();   当前用户

Select curdate(); 或 select current_date();   当前日期

Select curtime(); 或 select current_time();   当前时间

Select now(); 或 select current_timestamp();   显示系统时间当前日期+时间

Show engines;  显示当前数据库服务器支持的存储引擎

Show charset;   查看当前服务器所支持的字符集,

数据类型:

数字:整数:tinyint,  smallint,  mediumint,  int,  bigint,

小数:decimal(p,s)  create table t(t decimal(4,2));

字符串:定长char(),, 变长varchar()  变长文本text  大文本(0-4G)longtext,  enum() (枚举)

日期类型date    日期时间类型datetime     二进制

1)创建数据库 > CREATE DATABASE **  ;

2)显示所有数据库: >show databases;

3)删除数据库> DROP DATABASE **;

4)选择要用的数据库   Show databases;   USE **;

查看包含的表 SHOW TABLES; 当选择完数据库后,此命令等同于下:Show tables from **;

另:显示表格show tables from mydb(数据库名);

显示表结构: >desc mydb.tablename; 等价于:>show columns from mydb.tablename ;

CREATE DATABASE IF NOT EXISTS aa DEFAULT CHARACTER SET utf8;  判断aa是否存在,不存在就建立,并设定aa编码为utf8.

CREATE TABLE <表名> (<列名><数据类型>  [列级完整性约束条件]

[,<列名><数据类型> [列级完整性约束条件]]…

[,<表级完整性约束条件>])

例如:建立学生信息表Create table products( id char(20) not null,

           price float default 0.01,

           constraint primary key (id) );

注:列级约束条件有两个任选项:

NOT NULL,表示此列不得置NULL,在其后还可加UNIQUE任选项,表示列值不得重复。

DEFAULT,当此列的值空缺时,填以缺省值

主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。

CREATE TABLE dd(

id INT(6) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,   自增长

sname VARCHAR(20),  sgender ENUM(‘1‘,‘0‘,‘secret‘),   枚举选择项

PRIMARY KEY(id)

)ENGINE= MYISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 从5开始增,默认utf-8

建表

CREATE TABLE students(

sno INT UNSIGNED NOT NULL AUTO_INCREMENT,

sname VARCHAR(20) NOT NULL,

sgender ENUM(‘1‘,‘0‘),

sage TINYINT UNSIGNED NOT NULL,

sbirthday DATETIME,

saddress VARCHAR(50),

sscore DECIMAL(4,1),

PRIMARY KEY(sno)

)ENGINE=MYISAM AUTO_INCREMENT=200901 DEFAULT CHARSET=utf8;

insert into students values(null,‘李四‘,‘1‘,18,‘2000-1-18‘,‘郑州‘,82);

insert into students values(null,‘zz‘,‘0‘,16,‘2003-1-18‘,‘上海‘,68.9);

insert into students values(NULL,‘李1‘,‘1‘,17,‘2000-1-18‘,‘郑州‘,85),(null,‘李3‘,‘0‘,19,‘2000-1-18‘,‘郑州‘,78);

信息不全,插入单独几列信息,

insert INTO students(sname,sage) values(‘Jack‘,18),(‘Andy‘,20),(‘chu‘,17);

把查询结果,再插入数据,

INSERT INTO students(sname,sgender,sage,sbirthday,saddress,sscore) SELECT sname,sgender,sage,sbirthday,saddress,sscore FROM students;

DELETE FROM students WHERE sno=200918;

DELETE FROM students ;  -- 无条件删除所有记录。

TRUNCATE TABLE students;  -- 直接清空数据表,全部删除,auto_increment 从新分配,很少用

replace into students (sname,sage) VALUES(‘A‘,18),(‘B‘,20);

REPLACE INTO students VALUES (200917,‘YEAR‘,‘0‘,18,‘2001-5-5‘,‘GUANGZHOU‘,77.68);

UPDATE students SET sscore=79,sname=‘张111‘,sbirthday=‘2001-8-8‘,saddress=‘shenzhen‘ WHERE sno=200902;

UPDATE students SET sscore=0 WHERE sscore IS NULL; -- 得分为空的,修改为0分,与下面均不一样

UPDATE students SET sscore=0 WHERE sscore=‘‘;

UPDATE students SET sscore=0 WHERE sscore=NULL;

查看数据信息

SELECT * FROM students;

SELECT sname 姓名,sscore 成绩,saddress 家庭地址 FROM students;

SELECT * FROM students WHERE sscore!=78;

SELECT * FROM students WHERE sscore<>78;

SELECT * FROM students WHERE NOT sscore=78;

SELECT * FROM students WHERE sscore BETWEEN 80 AND 90;

SELECT * FROM students WHERE sbirthday BETWEEN ‘2001-1-1‘ AND ‘2010-1-1‘;

SELECT * FROM students WHERE saddress=‘郑州 ‘;

SELECT * FROM students WHERE sname LIKE ‘李_‘;  /*like中,_代表任意1个字符,号*/

SELECT * FROM students WHERE sname LIKE ‘%1%‘;  /*like中,%代表任意0个或多个任意符号*/

SELECT * FROM students WHERE sno NOT IN (200917,200925);  /* in 表示在括号内的项,。还有 not in 就是除了 */

SELECT * FROM students WHERE sscore IS NOT NULL;

SELECT * FROM students GROUP BY sname ORDER BY sno ASC, sscore ASC,sno DESC

/*GROUP BY用来将结果按列名的值进行分组,该属性列值相等的元组为一组,,ORDER BY将结果表按列名的值升序ASC或降序DESC排序*/

SELECT COUNT(sno) AS 人数,MIN(sscore) AS 最低分, MAX(sscore) AS 最高分,AVG(sage) AS pingjunnianling FROM students;

SELECT 姓名, Year(Date())-Year(出生年月) AS 年龄 FROM Students

SELECT sname,COUNT(*) AS 人数 FROM students GROUP BY sname; 可得重名的名字和人数

修改表名,修改dd为student

RENAME TABLE dd TO student;

增加列,即字段,即维度删除列

ALTER TABLE tbl_name [ADD<新列名><数据类型>[完整性约束]]

[DROP<列名><完整性约束名>]

[MODIFY<列名><数据类型>];

ADD用于增加新列和新的完整性约束条件,新增加的列一律为空值。(index, primary key等)

DROP用于删除指定的完整性约束条件(index,primary key, foreign key)

MODIFY用于修改原有的列定义

ALTER TABLE student ADD sscore TINYINT;

ALTER TABLE student ADD saddress VARCHAR(100) AFTER sname;

ALTER TABLE student DROP COLUMN sscore ;

ALTER TABLE student DROP saddress;

ALTER TABLE suser MODIFY nii INT;

复制一个表结构(字段),的两种方法:

CREATE TABLE stu LIKE students;   只复制一个表结构(字段)

CREATE TABLE stu2 SELECT * FROM students;   相当于复制一份。数据都在

时间: 2024-08-27 15:31:34

MySQL之创、增、删、改、查的相关文章

Python---MySQL数据库之四大操作(增 删 改 查)

一.对数据库,表,记录---四大操作(增 删 改 查) 1.操作数据库 (1)对数据库(文件夹):进行增加操作 Create  database  库名; 例:  Create  database  db7 ; 查询库: show  databases; 结果: +-----------------------------+ | Database                   | +----------------------------+ | information_schema | |

ADO.NET 增 删 改 查

ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访问技术的基础 连接数据库基本格式:需要两个类1.数据库连接类 SqlConnection2.数据库操作类 SqlCommand 1.连接数据库写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密码string sql = "server=.(服务器i

MySql 执行JDBC联接(增/删/改/查)操作

视频地址:http://www.tudou.com/programs/view/4GIENz1qdp0/ 新建BaseDao package cn.wingfly.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class BaseDao

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet

oracle 11g 建库 建表 增 删 改 查 约束

一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create table 表名1( Tid number(4) --primary key 列级约束(主键), Tname varchar(10) --ont null  非空约束,只能定义在列级约束, Tsex varchar2(2)--check (tsex='男'  or  tsex='女') 检查约束, T

php基础:数据库的含义和基本操作 增 删 改 查

//数据库是帮我们管理数据的一个软件,我们将数据给他,放进数据库里.他能很稳妥的帮我们管理起来,且效率很高.//php的大部分工作就是  php->连接数据库->写入数据->查出数据->格式化数据->显示出来,//数据库管理数据是以表的形式组成的,多行多列,表头声明好了,一个表创建好了,剩下的就是往里面添加数据 多张表放在一个文件夹里面就形成了库  mysql服务器帮我们管理多个库C:\wamp\bin\mysql\mysql5.6.12\data   数据库中的数据放在这个

SQL 增/删/改/查 (总结)

1.增 INSERT  INTO  表名  VALUES (" "," ") ; INSERT INTO 表名(字段)  VALUES(" "); 2. 删 DELETE   FROM 表名  WHERE  ... 3.改 UPDATE  表名 SET   ... WHERE  ... 4.查 SELECT × FROM  表名 ORDER BY ...

1-24.list的增,删,改,查

增: 1.append(通过元素增加,默认加在最后print(a.append('hgf'))) 2.extend( 迭代的去增,就是把字符串的字符逐个去给这个列表加上去) 3.insert((按照索引去增加,前为索引,后为增加的字) 删: 1,pop(通过位置索引去删除) 2.del (通过索引,切片删除) 3.clear(清空列表) 4.remove(通过元素去删除) #返回值是什么意思? 改: a[]='i' print() 查: for i in a: print(a) 其他列表 1.s

Android 增,删,改,查 通讯录中的联系人

一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

js数组的管理[增,删,改,查]

今天在设计表单的时候遇到对数组的一些处理的问题,比如说怎么创建一个数组,然后牵扯到数组的增删改查的方法.请看API FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE concat() 连接两个或更多的数组,并返回结果. 1 4 4 join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 1 3 4 pop() 删除并返回数组的最后一个元素 1 4 5.5 push() 向数组的末尾添加一个或更多元素,