MySQL基本使用

MySQL是一种数据库。数据库定义了存储信息的结构。以表的方式存储信息,设置有索引可以快速定位到需要的内容,避免查找数据时要遍历整个库,耗费资源速度也太慢。

**1)库
create database aaa; //创建数据库

drop database aaa;   //删除数据库

use aaa;            //切换使用数据库

show databases;     //显示数据库

2)表
create table abc( //创建表结构
name text,
sex varchar(100),
age int(10)
);

drop table abc;     //删除表

desc abc;           //

// 修改列名
alter table 表名 change 要修改的属性mobile 改为Code int;
//修改表名称
alter table 加表名 rename to 改为student;
//删除列
alter table 表名 drop classname;
//修改列类型
alter table 表名 modify 要改的属性 改为char;
//添加列
alter table 表名 add(classname varchar(100));
显示表结构

3)数据
insert into abc(name,sex,age) values(‘abc’,’nan’,20); //插入数据

update abc set age = 101 【where name = 'abc'】               //更改数据

delete from abc 【where name = 'abc'】                        //删除数据

select * from abc 【where age > 18】                  //查询数据

4)添加中文:
安装根目录—my.ini文件—-default-character-set=gbk

5)约束
主键: primary key
自增: auto_increment
非空: not null
唯一: unique

create table abc(
    id  int(100) primary key auto_increment,    主键自增
    name varchar(100) not null unique,          非空唯一
    sex varchar(100),
    age int(10)
);
  1. 使用创建一个工具类
    public class MySQLdatabase extends SQLiteOpenHelper {

    public MySQLdatabase(Context context, String name, CursorFactory factory,
    int version) {
    super(context, name, factory, version);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
    db.execSQL(“create table abc(id integer primary key autoincrement,name text,info text)”);
    for (int i = 0; i < 20; i++) {
    db.execSQL(“insert into abc(name,info)values(?,?)”,new Object[]{“张三”+i,”李四”+i});
    }
    timer.start();

    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

  2. 在Activity里面调用
    public class MainActivityList extends Activity implements OnItemClickListener {
    private SQLiteDatabase db;
    private GridView mg1;
    ArrayList list = new ArrayList();
    private Myadapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_activit_listy);
    // 1.初始化Gridview
    mg1=(GridView) findViewById(R.id.mg1);
    // 2.创建数据库
    MySQLdatabase database = new MySQLdatabase(this, “abc.db”, null, 1);
    db = database.getWritableDatabase();
    // 4.创建适配器
    adapter = new Myadapter(MainActivity.this, list);
    mg1.setAdapter(adapter);

    mg1.setOnItemClickListener(this);
    

    }
    // 5.查询数据库
    private void select() {
    list.clear();
    Cursor cursor = db.query(“abc”, null, null, null, null, null, null);
    while (cursor.moveToNext()) {
    String name = cursor.getString(cursor.getColumnIndex(“name”));
    String info = cursor.getString(cursor.getColumnIndex(“info”));
    int id = cursor.getInt(cursor.getColumnIndex(“id”));
    list.add(new Student(id, name, info));
    }
    // 6.适配器刷新
    adapter.notifyDataSetChanged();
    }
    // 生命周期方法
    @Override
    protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    select();
    }
    @Override
    public void onItemClick(AdapterView

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QT是一种基于C++的开发框架,支持跨平台的GUI应用程序开发。MySQL是一种免费开源的关系型数据库管理系统。QT提供了方便的MySQL接口类,使得我们可以轻松地把QT应用程序与MySQL数据库进行整合。 QT中主要使用QSqlDatabase类来连接MySQL数据库。使用时需要首先在QT工程中包含QtSql库。然后在代码中使用QSqlDatabase类进行连接,如下所示: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //设置主机名 db.setPort(3306); //设置端口 db.setDatabaseName("mysql"); //设置数据库名称 db.setUserName("root"); //设置用户名 db.setPassword("123456"); //设置密码 在连接成功后,我们可以使用QSqlQuery类进行SQL语句的执行和结果的获取,如下所示: QSqlQuery query; query.exec("SELECT name FROM student"); //执行SQL语句 while (query.next()) { //循环遍历数据 QString name = query.value(0).toString(); //获取name字段的值 qDebug() << "name:" << name; } 除了基本的SQL查询,QT还提供了许多便捷的API,例如QSqlTableModel、QSqlRelationalTableModel和QSqlQueryModel等类,可以更加方便地实现数据的增删改查等操作。此外,QT还提供了QSqlRelationalDelegate类和QSqlRelationalMapper类等类,可以方便地实现表格的外键关联和图形界面控件与数据库表的绑定。 总之,QT和MySQL的结合,可以让我们更加方便地实现数据的存储、读取和处理,大大提高了开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值